【问题标题】:Moving excel data to an already existing word document将 Excel 数据移动到现有的 Word 文档中
【发布时间】:2017-11-08 08:26:43
【问题描述】:

这是我使用 VBA 的第三天。我目前正在为这家公司工作 3 个月的合同,并且已经弄清楚如何将数据从 excel 自动传输到新的 word 文档(他们多年来一直想要的过程)。我还发现了如何从 excel 打开现有的 word 文档。

问题是,我还没有弄清楚如何将数据从 excel 传输到现有的 word 文档。

以下是我出于上述原因尝试编写的代码。谁能指出我哪里出错了?任何和所有的答案将不胜感激:)

Sub CopyRangeToWord()
Dim objWord As Word.Application
Dim objDoc As Word.Document
Set wordApp = GetObject("C:\Users\CoffeeFuelsMeNow\Documents\Ladedadeda\Testplate.dotx")

Set objDoc = objWord.Documents
objWord.Visible = True
Range("A1:B10").Copy
 With objDoc.Paragraphs(objDoc.Paragraphs.Count).Range
       'All formatting goes here
    .Paste
    .Font.Name = "broadway"
    .Font.Color = wdColorBlue
    .Font.Bold = True
    .Font.Italic = True
     .Font.Allcaps = True
     .Font.Size = 20
End With
End Sub

【问题讨论】:

  • 你能说一下你想要达到的目标吗?让问题直截了当
  • @eithed 抱歉,那是咖啡

标签: excel vba ms-word


【解决方案1】:

这对我来说非常好:如果我执行代码,它会一遍又一遍地将行作为表格添加到文档中

Dim objWord
Dim objDoc
Set objWord = CreateObject("Word.Application")
Set objDoc =objWord.Documents.Open("C:\Users\schmidmath\Documents\test1.docx")

Range("A1:B10").Copy

With objDoc.Paragraphs(objDoc.Paragraphs.Count).Range
   'All formatting goes here
   .Paste
   .Font.Name = "broadway"
   .Font.Color = wdColorBlue
   .Font.Bold = True
   .Font.Italic = True
   .Font.Allcaps = True
   .Font.Size = 20    
End With
objWord.Visible = True

【讨论】:

  • 我刚刚尝试使用此代码,Excel 花了很长时间思考它。我还在使用 Sub CopyRangeToWord() 还是需要一个不同的?
  • 等等,没关系。我的话正在夸大其词。这有帮助
【解决方案2】:

以下修改后的代码在我的最后工作,测试它并让我知道它是否满足您的要求。

Sub CopyRangeToWord()
 Dim objWord
 Dim objDoc

Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Add
Set wordApp = GetObject("C:\Users\CoffeeFuelsMeNow\Documents\Ladedadeda\Testplate.dotx")
Set obj­Doc = objWord.Documents

objWord.Visible = True
Range("A1:B10").Copy
 With objDoc.Paragraphs(objDoc.Paragraphs.Count).Range
       'All formatting goes here
    .Paste
    .Font.Name = "broadway"
    .Font.Color = wdColorBlue
    .Font.Bold = True
    .Font.Italic = True
    .Font.Allcaps = True
    .Font.Size = 10
End With
End Sub

【讨论】:

  • 所以它确实有效,但它会打开一个新的 Word 文档。我需要它来打开一个已经创建的 Word 文档。感谢您的帮助。
最近更新 更多