gpt4 book ai didi

vba - 使用 VBA 将文本添加到文档中的特定文本框

转载 作者:行者123 更新时间:2023-12-02 15:35:10 25 4
gpt4 key购买 nike

有没有办法在 MS Word 中命名文本框,以便我可以在 vba 中调用它们并向它们添加文本?​​例如,我有一个从用户那里获取一些数据的用户表单。在对这些数据进行一些计算之后,我想要在文本框或方程式中显示文档中的结果...比如,在 visual basic 中我们有:

textbox1.text="我的文本在这里"

我们在 VBA 中有类似的东西吗?喜欢:

ActiveDocument.textboxname.text="我的文本" ?!!

我不想为此使用 activeX 控件。

最佳答案

在 Word 和 PowerPoint 中,您只能使用 VBA 为形状指定名称(与 Excel 不同,在 Excel 中您可以在公式栏中执行此操作)。

Word 不强制形状具有唯一的名称,因此可以将两个形状都命名为 Text Box 2。您还可以通过它们在 ActiveDocument.Shapes 集合中的索引位置来引用形状。

一旦确定了需要使用的 Shape,就可以简单地操作 .TextFrame.TextRange.Text 属性:

Sub Test()
Dim shp As Shape
Dim str As String

For Each shp In ActiveDocument.Shapes
str = "My name is " & shp.Name
str = str & vbNewLine & "My EditID is " & shp.EditID
shp.TextFrame.TextRange.Text = str
Next
End Sub

您可能会考虑的另一件事是为每个形状添加一个 AlternativeText 属性。当然,这并不能解决“非唯一性”问题,但您可以使用它(或 CustomerData/CustomXMLParts 将一些元数据 分配给形状,作为进一步的手段识别和区分它们。

关于vba - 使用 VBA 将文本添加到文档中的特定文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18957072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com