Tag: word vba

VBA将Word中的多行文本复制到Excel单元格中

我的目标是使用VBAmacros将多行格式的文本从Word复制到Excel工作表中。 现在我有一个需要两个单元格的多行文本。 这是我现在的代码: With oWB.Worksheets("EPICS") ' Insert DESCRIPTION – todo ' ' HEADING xyz is selected, move one down and go to Pos1 Selection.MoveDown Unit:=wdLine, Count:=1 Selection.HomeKey Unit:=wdLine ' Save current line number (BEGIN) BeginText = Selection.Range.Information(wdFirstCharacterLineNumber) ' Go to the first table and one move up Selection.GoTo What:=wdGoToTable, Which:=wdGoToNext, Count:=1, Name:="" Selection.MoveUp Unit:=wdLine, Count:=1 […]

如何将excel范围集成到一个表中?

我在Excel文件中有两个范围。 (A79-I84)&(A90-I92) 我现在正在使用Excel.RANGE.copy. 复制两个表格并粘贴在文件上。 但是,这两个范围变成了两个单独的表格,原来的Excel表格格式不能inheritance到新的单词文件。另外,来自单词报告的一些单元格将显示在两行中。 总之,这个单词报告的格式将非常混乱。 如何将两个表格整合到一个具有良好表格格式或alignment的表格中? 新的表格将会像这样产生:(red pen = problems) 我的代码: Sub ExcelRangeToWord() Dim tbl0 As Excel.RANGE Dim tbl As Excel.RANGE Dim tbl2 As Excel.RANGE Dim WordApp As Word.Application Dim myDoc As Word.Document Dim WordTable As Word.Table 'Optimize Code Application.ScreenUpdating = False Application.EnableEvents = False 'Copy Range from Excel 'Set tbl0 = ThisWorkbook.Worksheets(sheet9.Name).RANGE("A78:I83") Set […]

在Excel中创build一个生成Word文档的macros

我想在Excel中创build一个macros来复制Excel文件中特定单元格的数据,并使用Office 2007将这些值填充到MS Word表单中。我需要它在每个Excel行的相同模板中创build一个新的Word文档。 在添加新行时,会生成一个附加的Word文档。 如果用户可以指定该行可能会更好。 这可能吗? 本质上,Excel文件包含名称,联系信息,我想将这些信息填充到Word文档中以避免手动重复input。

打开文件对话框获取Excel

我已经写了一些需要Excel文件并更新Word文件中的标签(ActiveX控件)的Word VBA。 这个Excel文件唯一的将会改变每个月的path和文件名。 如何添加“打开文件”对话框,而不是每月编辑2个variables,以便用户select要使用的Excel文件? 这是我现在拥有的: Sub Update() Dim objExcel As New Excel.Application Dim exWb As Excel.Workbook PathWork = "C:\My Documents\2015-05 Report\" CalcFile = "May2015-data.xlsx" Set exWb=objExcel.Workbooks.Open(FileName:=PathWork & CalcFile) ThisDocument.date.Caption=exWb.Sheets("Data").Cells(1,1) End Sub

wdPasteText粘贴在Word上的图像

我非常接近终于完成这个代码,我一直在努力,但我已经遇到了一些障碍。 我需要将所选内容作为纯文本粘贴到Word文档中,但是,使用当前代码将所选内容粘贴为图像。 Sub CopyRangeToWord() Dim objWord Dim objDoc Set objWord = CreateObject("Word.Application") Set objDoc = objWord.Documents.Add Sheets("Executive Outline").Range("B5:B220").Select Selection.Copy With objWord .Selection.PasteSpecial Link:=False, DataType:=wdPasteText, _ Placement:=wdInLine, DisplayAsIcon:=False End With objWord.Visible = True End Sub 有人能让我知道我要去哪里吗? 我将不胜感激。

用户types未定义工作表VBA

我试图添加引用到我的项目,所以我可以得到这个错误解决,但我没有成功。 任何人都可以告诉我应该添加哪些库? Dim objFSO As Object Dim objFolder As Object Dim objFile As Object Dim ws As Worksheet Set objFSO = CreateObject("Scripting.FileSystemObject") Set ws = Worksheets.Add 'Get the folder object associated with the directory Set objFolder = objFSO.GetFolder("C:\") ws.Cells(1, 1).Value = "The files found in " & objFolder.Name & "are:" 'Loop through the Files collection […]

表select邮件合并从Excel到Word的错误

首先在这里是我的代码。 Sub RunMerge() ' Word constants Dim wd As Object Dim wdocSource As Object Dim strWorkbookName As String On Error Resume Next Set wd = GetObject(, "Word.Application") If wd Is Nothing Then Set wd = CreateObject("Word.Application") End If On Error GoTo 0 Set wdocSource = wd.Documents.Open(ThisWorkbook.Path & "\AAFCAAC-#4077508-v1-AAFC-FFPB-COPE-SATD-_AgriInnovation_Draft_Survey_Instructions_189318.doc") strWorkbookName = ThisWorkbook.Path & "\" & "MD.xlsm" […]

Word VBA显示文档

这可能是一个相当微不足道的问题,但我在VBA方面很新颖,所以我的知识很拼凑。 基本上,我所做的是我有一些Excel中的VBA代码,我想用来从模板中创build一个新的Word文档,然后find/replace我放在它的一些标记文本基于什么是在excel工作簿。 我想我已经find/replace部分了,但我似乎无法得到Word文档打开正确。 以下是相关的代码: Set wordApp = New Word.Application wordApp.Documents.Add Template:=ThisWorkbook.Path & "\Template.dotx" 当我运行这个代码时,它执行得很好,并且产生了一个新的WINWORD.EXE进程,但是没有打开新的窗口,并且据我所知,文档实际上并没有打开或处于活动状态。 带有代码和模板的工作簿保存在同一个文件夹中,因此两者的path应该相同。 我也已经在VB编辑器中添加了对Word的引用。 就像我说的,这可能是很简单的修复。 如果有人可以给我一些指导,将不胜感激!

如何searchclosures的excel文件

我试图search一个closures的excel文件进​​行匹配,然后将相对于该匹配的引用转换为一个string,然后将该string放入打开的word文档,然后重复,直到find所有匹配。 我完全坚持打开Excel文件来访问它来search开始虽然。 它会在任务pipe理器中生成一个excel进程,但是我无法引用它,我实际上期望它打开该应用程序。 我可能会完全错误的。 Sub stringPrompt2() 'Find match 'build output 'put into word doc 'repeat Dim sSearchString As String Dim sSearchDirectory As String Dim dlgFile As FileDialog Dim vSelectedItem As Variant Dim Loc As Excel.Range Dim sPath As String sSearchString = InputBox("String to search for", vbOKOnly, "Search String") Set vSelectedItem = Application.FileDialog(filedialogtype:=msoFileDialogFilePicker) With vSelectedItem .AllowMultiSelect […]

当没有匹配的格式部分时,range.find方法不会返回任何内容

下面的function是作为文本,文本文件的一个粗体部分。 方块是作为范围传递给函数的。 Private Function GetFirstBoldPartofAPharagraph(rngPharagraph) As String With rngPharagraph.Find .ClearFormatting .Font.Bold = True .Execute Format:=True End With rngPharagraph.Select GetFirstBoldPartofAPharagraph = rngPharagraph.Text Set rng = Nothing End Function 这里的rngPharagraph来自myRange ( lngPar是一个word文档的数字) Set myRange = objDoc.Paragraphs(lngPar).Range 此代码将在Excel工作表中执行。 问题是,如果有一个大胆的部分,它发现和rngPharagraph.Text获取该部分; 但如果没有大胆的部分rngPharagraph.text返回所有的方法,而不是返回nothing 。