Tag: word vba

当运行VBA代码第二次“运行时错误462:远程服务器计算机不存在或不可用”

下面的代码在我第一次运行的时候工作的很好,但是当我需要再次运行时 ,它给了我这个错误: 运行时错误“462”:远程服务器计算机不存在或不可用 它不会一直发生,所以我想这与Word(不)在后台运行有关…? 我在这里错过了什么? Sub Docs() Sheets("examplesheet").Select Dim WordApp1 As Object Dim WordDoc1 As Object Set WordApp1 = CreateObject("Word.Application") WordApp1.Visible = True WordApp1.Activate Set WordDoc1 = WordApp1.Documents.Add Range("A1:C33").Copy WordApp1.Selection.PasteSpecial Link:=False, DataType:=wdPasteRTF, _ Placement:=wdInLine, DisplayAsIcon:=False Application.Wait (Now + TimeValue("0:00:02")) WordDoc1.PageSetup.TopMargin = CentimetersToPoints(1.4) WordDoc1.PageSetup.LeftMargin = CentimetersToPoints(1.5) WordDoc1.PageSetup.BottomMargin = CentimetersToPoints(1.5) ' Control if folder exists, if not […]

通过VBA在Word文档中修改embedded的Excel工作簿

我有一个Word文档,其中包含两个embedded式Excel文件(使用Insert – > Object – > Create From File添加),我希望使用Word VBA进行修改。 我已经到了可以打开embedded文件进行编辑的地步(请参阅下面的代码),但是我无法获得Excel工作簿的使用,我可以使用该工作簿进行修改并保存embedded文件。 有没有人有这个解决scheme? 提前致谢。 Sub TestMacro() Dim lNumShapes As Long Dim lShapeCnt As Long Dim xlApp As Object Dim wrdActDoc As Document Set wrdActDoc = ActiveDocument For lShapeCnt = 1 To 1 'wrdActDoc.InlineShapes.Count If wrdActDoc.InlineShapes(lShapeCnt).Type = wdInlineShapeEmbeddedOLEObject Then If wrdActDoc.InlineShapes(lShapeCnt).OLEFormat.ProgID = "Excel.Sheet.8" Then 'This opens the […]

使用VBA自动创buildWord模板

我正在创build一个word文档模板,并处于一个十字路口。 我想用从MATLAB输出中填充的MATLAB和Excel表格创build的数字填充文档。 数字被组织到文件夹中,Excel表格被组织在Excel模板的工作表中,如下所示: 我在这里问了几个关于自动更新这些表格和数字的问题,现在有了这样的代码: MS Word中的链接表 在MS Word中链接的图像和表格 报告很长,但篇幅有所不同。 这些报告logging了机器testing。 有的客户testing1台机器,有的testing5台机器。 对于5台机器,报告有100个表和400个数字。 例如,2台机器的报告结构如下: 文字1 图1.1 图1.2 文字2 表1.1 表1.2 图2.1 图2.2 我想以编程方式创build报告。 用户可以将Word模板,Excel模板和文件结构复制并粘贴到其工作目录中。 Excel模板中将有一个工作表,提供有关testing的信息。 即要testing的机器数量。 该模板将被构build为一台机器。 VBA将从Excel模板中抽取要testing的机器数量。 然后,它将在Word文件中索引数字和表格,将它们复制到Word文件中正确位置的指定数量的机器,并将它们链接到正确的源文件位置。 如果一个迭代的testing运行,这是我将使用上面张贴的代码来更新数字和表格。 什么是最简单的方法来设置? 什么方法会使生成和刷新表数据最快? 从我已经完成的阅读,这听起来像设置表导入为图片可能会更快,而不是链接数据, 如此应用程序。 我想代码要快速,安全,健壮,而不是依赖于任何这样的插件。 可能我可能需要这样的东西,但似乎有点矫枉过正。 任何帮助将不胜感激 – 我正在努力掌握Word VBA,字段代码和书签之间的关系,并最好地使用它们对我有利。

如何在Excel VBA中访问Word公共variables

我正试图自动化Excel VBA所做的所有工作。 我的雇主有一套标准化的模板,其中所有的文件都应该从中生成。 我需要从Excel VBA中填充这些模板之一。 Word模板广泛使用VBA。 这是(一些)我的Excel VBA代码: Sub GenerateReport() ' (Tables, InputDataObj) ' code generating the WordApp object (works!) WordApp.Documents.Add Template:="Brev.dot" ' Getting user information from Utilities.Userinfo macro in Document Call WordApp.Run("Autoexec") ' generating a public variable Call WordApp.Run("Utilities.UserInfo") ' more code End sub 在Word VBA Autoexec模块中,定义并声明一个名为user的公共variables。 Utilities模块中的user子将填充user 。 这两个例程都运行没有VBA的任何投诉。 然后,我想能够访问我的Excel VBA中的uservariables,但我得到以下错误 编译错误:variables尚未在此上下文中创build。 如何在Excel […]

更改Word文档中所有链接的来源 – 范围错位

我使用此代码将所有链接的字段/图表/ Word模板中的源代码更改为从其启动的工作簿。 我有平常的领域和图表 (这是存储在InlineShapes ),所以我有2个循环为每个模板。 这些循环有时会停留在For Each ,并在Fields / InlineShapes上循环(甚至不会增加索引…)而不停止。 (我为此添加了DoEvents ,似乎减less了这种情况发生的频率… 如果你有一个解释,这将是非常受欢迎的! ) 而且For i = … to .Count ,现在它的工作原理非常完美, 除了Pasted Excel Range每次从A1开始)以及工作簿的活动工作表上更改为相同大小的范围 。 为了避免InlineShapes问题,我添加了一个testing来知道LinkFormat.SourceFullName是否可以访问,从而避免了一个会阻止进程的错误: Function GetSourceInfo(oShp As InlineShape) As Boolean Dim test As Variant On Error GoTo Error_GetSourceInfo test = oShp.LinkFormat.SourceFullName GetSourceInfo = True Exit Function Error_GetSourceInfo: GetSourceInfo = False End Function 我注意到我的模板中有两种链接的InlineShapes […]

macros将MS Word表格导出到Excel工作表

我有一个很多表格的文档。 有谁知道如何编写一个macros来将这些表导出到不同的Excel工作表?