【发布时间】:2021-08-20 16:46:08
【问题描述】:
我正在尝试用 VBA 中的纯文本文件填充 Word 文档。 这是我所拥有的:
- Word 文档的书签中包含默认文本(这有助于我确保所有书签都已被替换)
- 以下 VBA 负责将 txt 文件中的内容插入书签中
strt = bookmark.Range.Start
bookmark.Select
Selection.InsertFile Filename:=Filename, ConfirmConversions:=False, Link:=False, Attachment:=False
Selection.Bookmarks.Add Name:=bookmarkname, Range:=ActiveDocument.Range(strt, Selection.Range.End)
主要问题是,在我运行 VBA 后,字体名称、字体大小、项目符号点(如果有)...都更改为不同的内容(Courier New 10,5pts)。如果文本文件被修改,我会重新创建书签以便能够多次运行宏。
我找到了一个丑陋的(恕我直言)解决方案:
- 保存样式名称并在插入文件之后应用它。对于要点,应用样式不会设置正确的字体和大小,因此最后 2 行
strt = bookmark.Range.Start
bookmark.Select
myStyle = (Selection.Style)
Selection.InsertFile Filename:=Filename, ConfirmConversions:=False, Link:=False, Attachment:=False
Selection.Bookmarks.Add Name:=bookmarkname, Range:=ActiveDocument.Range(strt, Selection.Range.End)
ActiveDocument.Range(strt, Selection.Range.End).Style = myStyle
ActiveDocument.Range(strt, Selection.Range.End).Font.Name = "Calibri"
ActiveDocument.Range(strt, Selection.Range.End).Font.Size = 11
你有什么想法可以做一些更“专业”的事情吗?
另一个问题是即使文件末尾没有新行,插入文件也总是在末尾添加新行。 有什么想法可以防止它或至少在插入后将其删除?
感谢您提供任何帮助我的想法!
【问题讨论】: