VBA错误4198“;运行时错误“;用浆糊
我一直在尝试编写一个word VBA脚本,它使用一个屏幕截图(已复制到剪贴板),并将其粘贴到word文档中进行格式化和保存。这个程序在我工作时的电脑上运行得很好,但当我把它分发给其他人时,它在大约25%的电脑上无法运行。我收到的错误是“4198运行时错误”。我寻找过其他人遇到过的类似问题,但我仍然不知所措。办公室中的所有计算机都运行相同版本的work,即2010标准版 问题在于最后一行代码selection.paste。 在运行脚本之前,我确实确保他们的剪贴板上有一个屏幕截图 非常感谢您的所有意见VBA错误4198“;运行时错误“;用浆糊,vba,ms-word,Vba,Ms Word,我一直在尝试编写一个word VBA脚本,它使用一个屏幕截图(已复制到剪贴板),并将其粘贴到word文档中进行格式化和保存。这个程序在我工作时的电脑上运行得很好,但当我把它分发给其他人时,它在大约25%的电脑上无法运行。我收到的错误是“4198运行时错误”。我寻找过其他人遇到过的类似问题,但我仍然不知所措。办公室中的所有计算机都运行相同版本的work,即2010标准版 问题在于最后一行代码selection.paste。 在运行脚本之前,我确实确保他们的剪贴板上有一个屏幕截图 非常感谢您的所有意
Sub MapMaker()
'set up new document with narrow margins and landscape orientation
With Selection.PageSetup
.LineNumbering.Active = False
.Orientation = wdOrientPortrait
.TopMargin = InchesToPoints(0.5)
.BottomMargin = InchesToPoints(0.5)
.LeftMargin = InchesToPoints(0.5)
.RightMargin = InchesToPoints(0.5)
.Gutter = InchesToPoints(0)
.HeaderDistance = InchesToPoints(0.5)
.FooterDistance = InchesToPoints(0.5)
.PageWidth = InchesToPoints(8.5)
.PageHeight = InchesToPoints(11)
.FirstPageTray = wdPrinterDefaultBin
.OtherPagesTray = wdPrinterDefaultBin
.SectionStart = wdSectionNewPage
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.VerticalAlignment = wdAlignVerticalTop
.SuppressEndnotes = False
.MirrorMargins = False
.TwoPagesOnOne = False
.BookFoldPrinting = False
.BookFoldRevPrinting = False
.BookFoldPrintingSheets = 1
.GutterPos = wdGutterPosLeft
End With
If Selection.PageSetup.Orientation = wdOrientPortrait Then
Selection.PageSetup.Orientation = wdOrientLandscape
Else
Selection.PageSetup.Orientation = wdOrientPortrait
End If
' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
'paste and resize screenshot to full page width
Selection.Paste
4198运行时错误可能与链接关联。如果您的原始word文档中有链接正在进行打印筛选,请尝试将其删除,看看这是否解决了问题。错误是否会在屏幕上打印出来?尝试更改
选择。将粘贴到选择。粘贴特殊xlPasteAll
有一种方法可以从剪贴板获取数据,如果PasteSpecial
不起作用,taht可能是一个选项。