vba 远程服务器不可用或不存在,excel - 使用VBA运行时错误462在Excel中合并Docx文件远程服务器计算机,然后文件损坏 - 堆栈内存溢出...

救命! 关于此主题有很多帖子,我尝试了其中的大多数,但仍然无济于事。

基本上,我只是想在指定的文件夹中合并具有相同名称的docx文件的内容。 每个文件都包含一个图像,即1file:1image。 第一次运行代码时出现错误(错误462远程服务器计算机不存在或不可用),它指向

ActiveDocument.Range.InsertFile Filename:=myDir & nextFile

有人知道该如何解决吗? 请。 这是我的代码:

Sub Merger()

Dim firstFileStr As String

Dim firstFile As String

Dim nextFileStr As String

Dim nextFile As String

Dim xFlag As Boolean

Dim myDir As String

myDir = "C:\Users\User\Desktop\MergeFolder\"

For iCtr = 1 To getRowCount

firstFileStr = Sheet1.Cells(iCtr, 3).Value

firstFile = Sheet1.Cells(iCtr, 1).Value

xFlag = True

Dim jCtr As Integer

jCtr = 1

Do While (xFlag)

nextFileStr = Sheet1.Cells(iCtr + jCtr, 3).Value

nextFile = Sheet1.Cells(iCtr + jCtr, 1).Value

If StrComp(firstFileStr, nextFileStr, vbTextCompare) = 0 Then

Dim WordApp As Word.Application 'word application

Dim WordDoc As Word.Document 'word document

If Not WordApp Is Nothing Then

WordApp.Quit

End If

Set WordApp = New Word.Application

Set WordDoc = WordApp.Documents.Open(myDir & firstFile, ConfirmConversions = False, ReadOnly = False)

Application.ScreenUpdating = False

ActiveDocument.Range.InsertFile Filename:=myDir & nextFile

WordDoc.SaveAs Filename:=myDir & "merged " & firstFileStr, FileFormat:=wdFormatDocument

WordDoc.Close

WordApp.Quit

Set WordDoc = Nothing

Set WordApp = Nothing

xFlag = True

jCtr = jCtr + 1

Else

xFlag = False

End If

Loop

Next

End Sub

函数getRowCount只是返回Sheet1包含的数字或行。 这里,

Function getRowCount() As Integer

Dim rowCount As Integer

rowCount = 0

Range("A1").Select

' Set Do loop to stop when an empty cell is reached.

Do While Not IsEmpty(ActiveCell)

rowCount = rowCount + 1

' Step down 1 row from present location.

ActiveCell.Offset(1, 0).Select

Loop

getRowCount = rowCount

End Function

现在,当我在上一个错误之后立即运行代码并且没有在任务管理器中终止MS Word进程时,我又遇到了另一个错误运行时错误5792文件似乎已损坏。 检查新创建的文件,似乎代码

ActiveDocument.Range.InsertFile Filename:=myDir & nextFile

根本不起作用。 excel文件看起来像(列B为空)

Column A B C

alpha - 1.docx alpha

alpha -2.docx alpha

alpha - 3.docx alpha

alpha - 4.docx alpha

bravo - 1.docx bravo

bravo - 5.docx bravo

charlie- 2.docx charlie

delta - 3.docx delta

delta - 5.docx delta

epsilon - 9.docx epsilon

foxtrot - 1.docx foxtrot

merger.xlsm 0

~$merger.xlsm 0

应该将所有“ Alpha-* .docx ”合并为“ Alpha-1.docx ”,bravo-5.docx合并为bravo-1.docx等。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值