Tag: word vba

从Word VBA防止Excel提示

我在Word和Excel上使用VBA。 我有运行一个用户窗体的Word将自动打开一个Excel文件。 用户应该填写Excel文件中的一些数据,然后返回到Word用户窗体。 当用户完成填写Word用户窗体中的所有字段时,它将在Word上运行一些将数据从Excel复制到Word的VBA代码。 完成后,Excel文件将自动closures。 因此,我需要防止用户手动closuresExcel应用程序。 为此,我在Sub Workbook_BeforeClose中的Excel VBA中使用这些代码。 如果用户closuresExcel应用程序窗口,将显示一个消息框,询问用户是否仍在使用Word用户窗体。 代码如下: Private Sub Workbook_BeforeClose(Cancel As Boolean) answer = MsgBox("Are you still working with Word userform?", vbYesNo) If answer = vbYes Then Cancel = True MsgBox "This workbook should not be closed. It will be automatically closed when you finish working with Ms. Word Template Userform." […]

将Word表格转换为Excel数组

我正在尝试将Word表格转移到Excel中 – 这已经在这里完成了 – 此外,在传输过程中,我只想保留包含特定内容的行,并希望在粘贴到Excel之前重新塑造表格。 我认为这可以通过将每个表格首先转换为Excel数组,然后根据需要修改数组,然后粘贴到指定的范围。 不过,我对Word VBA并不是很熟悉,而且我很难find这个任务。 我从这里的代码开始,我在上面引用的post中find了这个代码。 Option Explicit Sub ImportWordTable() Dim wdDoc As Object Dim wdFileName As Variant Dim tableNo As Integer 'table number in Word Dim iRow As Long 'row index in Excel Dim iCol As Integer 'column index in Excel Dim resultRow As Long Dim tableStart As Integer Dim tableTot […]

VBA:如何在崩溃后closuresExcel.Application

我的Wordmacros使用此代码来打开并访问Excel工作簿: Dim objExcel As New Excel.Application Dim exWb As Excel.Workbook Set exWb = objExcel.Workbooks.Open("C:\Folder\Filename.xls") ' Main procedure exWb.Close Set exWb = Nothing objExcel.Quit Set objExcel = Nothing 由于我仍在debugging,所以macros在到达“closures”和“退出”命令之前经常停止,并在后台打开Excel实例和工作簿。 我有时可以通过打开任务pipe理器并结束任务来closures它们,但是我怀疑这是最好的解决scheme。 是否有一个macros,我可以在Word中写入,closures所有打开的工作簿,并退出Excel的所有(背景)实例?

word和excel中的vba是否使用不同的声明?

我试图在微软的Word使用这个JSON转换器https://github.com/VBA-tools/VBA-JSON 。 它在ms-scripting运行时的excel中运行得非常好。 但是它在微软的话失败。 我认为这个问题是对象types声明。 在微软的这一行中,出现错误。 Set json_ParseObject = New Dictionary 在阅读https://msdn.microsoft.com/en-us/library/office/gg251782.aspx我试图将其转换为 dim json_ParseObject As Dictionary. 它给出了重复声明的错误,所以我删除它。 它然后在错误: Set json_ParseObject.Item(json_Key) = json_ParseValue(json_String, json_Index) 有没有人曾经成功使用过word-vba这个项目? 我以前问这个问题,而我没有意识到问题。 经过一番研究后,我又问了一遍。 请尽量了解这个问题,因为它是真实的。 请指导,如果你的事情这个问题是题外话

在VBA中打开受密码保护的Word文档

我需要在VBA中打开密码保护的Word文档它是要求密码,如何通过代码打开代码: Dim DPDoc Dim DPApp Dim DPPath DPPath = "C:\MyFolder\PwdProtectdFile.docx" Set DPApp = CreateObject("word.Application") ' It is asking for the password here DPDoc = DPApp.Documents.Open(DPPath)

Excel不closures

我在word visual basic上运行以下工作macros。 每次我运行它,macros成功生成我想要的报告; 但后来我看着任务pipe理器,我看到一个Excel的实例仍在运行。 我在代码上运行debugging器,debugging器通过最后一行: oExcel.quit 但它仍然不会终止应用程序! Sub WriteExtension() ' ' WriteExtension Macro ' ' copyFile Dim nWord As New Document word.Application.ScreenUpdating = False Set nWord = Documents.Open("c:\output\report\here\report", Visible:=False) 'initialize excel variables Dim oExcel As Excel.Application Dim oWorkbook As workbook Dim oWorksheet As worksheet 'initialize excel object Set oExcel = New Excel.Application oExcel.ScreenUpdating = […]

VBA:格式MS Word文本

我正在尝试格式化多个单词的文本。 到目前为止,下面的代码将只允许我格式化一个字的字体。 我需要添加/删除什么才能让我所input的单词格式化得更多? 干杯! Sub FnFindAndFormat() Dim objWord Dim objDoc Dim intParaCount Dim objParagraph Set objWord = CreateObject("Word.Application") Set objDoc = objWord.Documents.Open("C:\USERPATH") objWord.Visible = True intParaCount = objDoc.Paragraphs.Count Set objParagraph = objDoc.Paragraphs(1).range objParagraph.Find.Text = "deal" Do objParagraph.Find.Execute If objParagraph.Find.Found Then objParagraph.Font.Name = "Times New Roman" objParagraph.Font.Size = 20 objParagraph.Font.Bold = True objParagraph.Font.Color = RGB(200, 200, […]

将许多Excel图表粘贴到Word中作为链接

我正在尝试编写C#代码来从Excel中复制粘贴图表,并在MS Word中使用粘贴链接,因为使用Excel时,为表格,文本,图表等使用粘贴链接时,可以单击更新Word中的所有字段在Excel中更改任何内容后。 我试图使用OpenXML在Word中添加内容控件,并将这些图表粘贴到这些位置,就像这个博客所做的一样。 http://www.dotblogs.com.tw/angus/archive/2010/05/19/15332.aspx 我为每个图表添加了“图片”types的内容控制,并且它们被成功粘贴,但不作为链接。 因此,当Excel数据更改后,单击Word中的“现在更新链接”时,Word中的图表保持不变。 也许我没有添加正确types的内容控制? 我不知道我应该使用哪种types的链接。 任何人都可以指向一些源代码甚至软件?

如何使用VBA将Microsoft Word公式导入Microsoft Excel?

我一直在想办法将图片和表格以及其他东西从Microsoft Word 2010到Microsoft Excel 2010 。 我想find一种方法来做同样的事情与OMath对象,或方程式。 我想尽可能保持原始forms,所以如果这意味着将OMath对象翻译成图片( InlineShape ),那么我就是这么做的。 以下是Word中的公式,我想用VBA导入excel: 现在,我只能传递这个对象的Range.Textexpression式,这个公式看起来像这样: 我发现我可以select这个对象,并做一个select副本。 有没有办法确定这个select的尺寸? 我想粘贴在一个特定的单元格中,这个单元格已经被resize以适应等式。 我遍历Word文档的段落,每个段落都被称为DocPara ,当我遇到一个等式时,我select它是这样的: DocPara.Range.OMaths(1).Range.Select With Selection .CopyAsPicture oWB.ActiveSheet.Paste Destination:=oWB.ActiveSheet.Cells(headingCount, 3) End With 我上面的问题是,图片粘贴在我想要的地方,但比坐在的行还要大,如果我调整行的大小,图片将垂直线性地与行resize。 我需要调整我粘贴之前粘贴这个图像的行。 我怎样才能访问我刚刚放在剪贴板上的图片的大小? 有没有人有一些想法? 对此,我真的非常感激 :)

使用Wordmacros查找Excel行并引用该行中的其他单元格

我有一个启动用户窗体的Wordmacros。 我想添加一个function来更新外部Excel文档中的某些字段。 不幸的是,Wordmacros不能识别许多Excel VBA命令。 这是这个想法: search关键字“供应商”的Excel电子表格。 确定其行(RowCrnt)。 将该行中特定列的内容返回到单词macros(docField)。 这是我在哪里: Private Sub updateForm_Click() 'Start by parsing the Test Tracking spreadsheet Set appExcel = CreateObject("Excel.Application") Dim testTrack_File As Variant Dim Rng As Range Dim RowCrnt As Long testTrack_File = "FileName.exe" appExcel.Workbooks.Open testTrack_File 'Search Test Tracking spreadsheet for the Vendor With appExcel.Sheets("Testing_Queue") 'Code Needed here docField = End […]