我想使用表的构建块,该表将存储在用户的STARTUP文件夹中的.dotm中。但是,我只知道如何使用绝对文件路径编写宏,但这将无法工作,因为将共享.dotm。
.dotm文件还将存储标题为“样本表”的构建块,并具有所有格式的文件。我知道我可以使用VBA重建表,但是宽度永远无法满足我的需要,因此我尝试使用构建块。
Application.Templates( _
"C:\Users\MYUSER\AppData\Roaming\Microsoft\Word\STARTUP\Templates.dotm" _
).BuildingBlockEnries("sample_table").Insert Where:=Selection. _
Range, RichTest:=True
答案 0 :(得分:0)
有两种方法可以获取用户主目录中Word的STARTUP文件夹的路径(该路径相对于每个唯一用户)。
最简单的方法可能是:
Application.Templates(Application.Options.DefaultFilePath(wdStartupPath) & "\" & _
"Templates.dotm").BuildingBlockEntries("Sample_Table").Insert _
Where:=Selection.Range, RichText:=True
但是,有时您可能希望遍历所有全局加载项,并根据发现的内容做出决定。下面是执行此操作的示例代码:
Sub FindAddin()
Dim WordAddin As Word.AddIn
Dim i As Long
For i = 1 To Application.AddIns.Count
If Application.AddIns(i).Name = "Templates.dotm" Then
Set WordAddin = Application.AddIns(i)
Exit For
End If
Next
If WordAddin Is Nothing Then Exit Sub
Application.Templates(WordAddin.path & "\" & _
WordAddin.Name).BuildingBlockEntries("Sample_Table").Insert _
Where:=Selection.Range, RichText:=True
End Sub