我正在考虑将Excel中的一系列文本数据(40列)插入/粘贴到Word中的书签中。大多数答案都是使用Excel VBA完成的,这对我的用例来说是不实际的,因为我将Word文档打开,添加一个按钮来运行这个'导入数据'宏。实际上我已经在文档中有一个按钮,可以将图像插入到书签中,这是我不想通过Excel VBA进行操作的另一个原因。
我知道这不是很好的代码,但由于缺乏明确的线索,我将它扔到这里并希望这能让你了解我想要实现的目标:
Sub ImportData()
Workbooks.Open ("\Book2.xlsm")
ActiveWindow.WindowState = xlMinimized
ThisWorkbook.Activate
Windows("Book2.xlsm").Activate
Range("A1:AF1").Select
Selection.Copy
Documents("test.docm").Activate
Selection.GoTo What:=wdGoToBookmark, Name:="Overlay_1"
Selection.Paste
End Sub
PS:如果我可以进行“转置”这样的话会很棒。将40个列粘贴到Word中。
根据@Variatus的建议,我的代码更新了:
Sub ImportData()
Dim wb As Workbooks
Dim ws As Worksheets
Dim objSheet As Object
Dim objWord As Object
Set objWord = CreateObject("Word.Application")
wb.Open ("C:\Users\pc\Documents\Book2.xlsm")
Set objSheet = CreateObject("Excel.Application")
ActiveWindow.WindowState = xlMinimized
Set ws = Workbooks("Book2.xlsm").Sheets("Sheet1")
ws.Range("A1").Value.Copy
With objWord.ActiveDocument
.Bookmarks("Bookmark_1").Range.Text = ws.Range("A1").Value
End With
End Sub
我收到此错误:
运行时错误' 91': 对象变量或未设置块变量。
注意我现在如何坚持使用单个单元格引用(A1)。在我学习的过程中,我只是更新我的代码:)
答案 0 :(得分:0)
单击Word文档中的按钮时,需要启动以下序列。
上述六点中的每一点都会引导您至少提出一个问题,在您搜索主题并编写一些代码后,您可以在这里提出问题。实际上,我强烈建议您创建一个Main
过程(响应按钮单击的过程)并让该过程调用执行各个任务和功能的各个子站来支持子站点。您创建的部件越小,编写代码就越容易,找到要问的问题并获得答案。如果你计划好你的项目,那么当你完成时,它应该有大约12个程序。祝你好运!