Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何在publisher中设置文本框的名称?_Vba_Textbox_Shape_Office 2013_Ms Publisher - Fatal编程技术网

Vba 如何在publisher中设置文本框的名称?

Vba 如何在publisher中设置文本框的名称?,vba,textbox,shape,office-2013,ms-publisher,Vba,Textbox,Shape,Office 2013,Ms Publisher,我想设置文本框的名称,以便代码可以轻松访问它。 我正在寻找一个类似的编辑领域 谢谢,UI上的每个控件都有一个可访问的属性窗口。在那里,您可以重命名控件。(因为您似乎还没有VBA代码,并且希望从UI重命名控件) 另一种选择。录制宏,对文本框进行一些更改(例如调整大小、更改文本等)。然后从VBA编辑器中选中程序指定的文本框默认名称。正如您所说,您可以通过此默认名称访问控件,并使用VBA代码(如您所说)重命名文本框 用户界面上的每个控件都有一个可访问的属性窗口。在那里,您可以重命名控件。(因为您似乎

我想设置文本框的名称,以便代码可以轻松访问它。

我正在寻找一个类似的编辑领域


谢谢,UI上的每个控件都有一个可访问的属性窗口。在那里,您可以重命名控件。(因为您似乎还没有VBA代码,并且希望从UI重命名控件)


另一种选择。录制宏,对文本框进行一些更改(例如调整大小、更改文本等)。然后从VBA编辑器中选中程序指定的文本框默认名称。正如您所说,您可以通过此默认名称访问控件,并使用VBA代码(如您所说)重命名文本框

用户界面上的每个控件都有一个可访问的属性窗口。在那里,您可以重命名控件。(因为您似乎还没有VBA代码,并且希望从UI重命名控件)


另一种选择。录制宏,对文本框进行一些更改(例如调整大小、更改文本等)。然后从VBA编辑器中选中程序指定的文本框默认名称。正如您所说,您可以通过此默认名称访问控件,并使用VBA代码(如您所说)重命名文本框

如果确实要在Publisher中编辑工作表对象,则必须获取形状的对象并将其解释为Excel.Application

如果您只是在为Publisher文档寻找占位符解决方案,只需创建一个包含特定字符串的文本框,然后在所有页面、每个页面上的所有形状(其中HasTextFrame=msoTrue)中循环,并将shape.TextFrame.TextRange.Text与占位符字符串进行比较。如果是你要找的那个,你可以用这个形状做任何你想做的事情

很抱歉,回答含糊不清,但你的图像已经不起作用了

编辑:您可以使用Shape.Name进行比较(您在评论中提到了此属性),但我不知道如何在不使用VBA的情况下从界面设置值,因此如果您正在制作模板,我上面概述的方法可能会更方便用户(请参阅Shape.Name)。页面对象()还有一个.Name属性,因此,一旦您了解了如何实际设置名称值,您应该能够执行类似于ActiveDocument.Pages(“页面名称”).Shapes(“形状名称”).TextRange.Text=“您的内容”的操作

编辑2: 如果除了放置一些文本之外,您不需要执行任何高级操作,也可以尝试按照使用搜索和替换


编辑3:给定问题的标题,除非您可以通过Publisher界面解决问题,否则您可以使用dim shape=Selection.shaperage.TextFrame.Parent和shape.Name=“your_Name”设置所选文本框(或其他形状)的.Name属性。您可以使用ActiveDocument.ActiveView.ActivePage.name=“您的名称”设置所选页面的名称。(创建一个VBA宏,提示您输入名称,您应该准备好了)

如果您确实想在Publisher中编辑工作表对象,则必须获取形状的对象并将其解释为Excel.Application

如果您只是在为Publisher文档寻找占位符解决方案,只需创建一个包含特定字符串的文本框,然后在所有页面、每个页面上的所有形状(其中HasTextFrame=msoTrue)中循环,并将shape.TextFrame.TextRange.Text与占位符字符串进行比较。如果是你要找的那个,你可以用这个形状做任何你想做的事情

很抱歉,回答含糊不清,但你的图像已经不起作用了

编辑:您可以使用Shape.Name进行比较(您在评论中提到了此属性),但我不知道如何在不使用VBA的情况下从界面设置值,因此如果您正在制作模板,我上面概述的方法可能会更方便用户(请参阅Shape.Name)。页面对象()还有一个.Name属性,因此,一旦您了解了如何实际设置名称值,您应该能够执行类似于ActiveDocument.Pages(“页面名称”).Shapes(“形状名称”).TextRange.Text=“您的内容”的操作

编辑2: 如果除了放置一些文本之外,您不需要执行任何高级操作,也可以尝试按照使用搜索和替换


编辑3:给定问题的标题,除非您可以通过Publisher界面解决问题,否则您可以使用dim shape=Selection.shaperage.TextFrame.Parent和shape.Name=“your_Name”设置所选文本框(或其他形状)的.Name属性。您可以使用ActiveDocument.ActiveView.ActivePage.name=“您的名称”设置所选页面的名称。(创建一个VBA宏,提示您输入名称,您应该准备好了)

1.
如何添加或定义文本框?作为一个形状,然后
添加文本框
或任何其他方式<代码>2。您使用的是什么版本的Office?e、 g.2010年、2013年、2003年<代码>3。您当前的VBA代码在哪里?1。我在用丝带。2.MS 2010 3。我不明白你的问题,让我再解释一遍我的问题。有没有一种方法可以用类似的方式设置发布者的名称,就像我们可以在excel中设置范围的名称一样,在我设置名称后只需键入即可使用vba访问它。
1。
如何
添加
定义
文本框?作为一个形状,然后
添加文本框
或任何其他方式<代码>2。您使用的是什么版本的Office?e、 g.2010年、2013年、2003年<代码>3。您当前的VBA代码在哪里?1。我在用丝带。2.MS 2010 3。我不明白你的问题,让我再解释一遍我的问题。有没有一种方法可以用类似的方式设置发布服务器的名称,就像我们可以在excel中设置范围的名称一样,在我设置名称后只需键入即可使用vba访问。这就是我找不到该属性的问题