远程服务器不存在或不可用462,将图表从Excel粘贴到Word错误 - 远程服务器计算机不存在(错误462)...

我有一个宏在excel中的VBA中执行以下逻辑:

打开word文档

循环浏览文档中的所有预设书签

找到书签后,循环浏览特定工作表中的所有图表对象,当图表名称与书签名称匹配时,将其复制到word文档中

我在第二次运行宏时遇到错误462 . 我意识到这与没有正确引用一个对象有关,但我似乎无法找到罪魁祸首 .

我的代码看起来像这样:

Sub buildDocument()

'#### Initialise our variables

Dim wdApp As Word.Application

Dim wdDoc As Word.Document

Dim theWorksheet As Worksheet

Dim Chart As ChartObject

Dim wdBookmarksArray() As Variant

Dim counter1 As Integer

Dim counter2 As Integer

Dim noCharts As Integer

Dim counter4 As Integer

Dim PasteObect As Variant

Dim quarter As String

Dim sheetsArr As String

'#### Switch off update ####

Application.ScreenUpdating = False

'#### Create a new word doc; minimise; ####

Set wdApp = New Word.Application

With wdApp

.Visible = True

.WindowState = wdWindowStateMinimize

End With

On Error GoTo ErrorHandler

'#### Build a dialog box to find the

' correct word template file ####

Set wdDoc = wdApp.Documents.Open(openDialog())

counter2 = 1

counter3 = 1

For counter1 = 1 To wdDoc.Bookmarks.Count

'#### Export "New Issue Timing" graphs to

' word document ####

Call copyGraphs(newIssuesTiming, _

counter1, _

wdDoc, _

wdApp)

Next

ThisWorkbook.sheets(mainSheet).Select

Set wdApp = Nothing

Set wdDoc = Nothing

Exit Sub

ErrorExit:

wdDoc.Close

wdApp.Quit

Set wdApp = Nothing

Set wdDoc = Nothing

Exit Sub

的ErrorHandler:

Dim error_report As ErrorControl

Set error_report = New ErrorControl

error_report.SetErrorDetail = Err.Description

error_report.SetErrorNumber = Err.Number

error_report.SetErrorSection = "BUILD_WORD_DOC"

If error_report.GenerateErrorReport Then

Resume ErrorExit

End If

Set error_report = Nothing

我的copyGraphs看起来像:

Sub copyGraphs(sheet As String, _

counter1 As Integer, _

wdDoc As Word.Document, _

wdApp As Word.Application)

Dim wdBookmarksArray() As Variant

Dim counter2 As Integer

Dim Chart As ChartObject

Dim theWorksheet As Worksheet

Dim noCharts As Integer

Dim counter4 As Integer

Dim PasteObect As Variant

Dim quarter As String

Dim sheetsArr As String

For Each Chart In ThisWorkbook.sheets(sheet).ChartObjects

If wdDoc.Bookmarks(counter1).name = Chart.name Then

ThisWorkbook.sheets(sheet).ChartObjects(Chart.name).Copy

wdApp.Selection.Goto What:=wdGoToBookmark, name:=wdDoc.Bookmarks(counter1).name

wdApp.Selection.PasteSpecial DataType:=wdPasteEnhancedMetafile

End If

Next

End Sub

copyGraph Sub与调用它的子模块位于同一模块中 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值