标签: word-vba

使用VBA将表定位到Word文档中的特定位置

我编写了一个宏来允许用户从组合框中选择办公室分支,现在我想将相关地址插入到特定位置的word文档中.我使用表来保存地址,但是当创建表时,它会在光标恰好位于页面上的任何位置创建.

我似乎无法找到一种方法来告诉桌子准确定位(x,y)我需要它出现的位置.由于文档中没有其他内容,只有文本,因此没有任何内容可供参考.

我也试图尽可能远离使用Active X控件.

vba ms-word word-vba

2
推荐指数
1
解决办法
2万
查看次数

在Word VBA中调用Application.GetOpenFilename方法有什么问题?

即,我在按钮处理程序中调用了以下代码段:

TextBox1.Text = Application.GetOpenFilename("All files (*.*),*.*", _
        1, "Open the Raw Data Files", , False)
If TextBox1.Text = "False" Then TextBox1.Text = ""
Run Code Online (Sandbox Code Playgroud)

该错误说:“编译器错误:未找到方法或数据成员”

提前致谢!

vba word-vba

2
推荐指数
1
解决办法
8534
查看次数

如何拆分邮件合并并使用合并字段作为名称保存文件

我有一堆邮件合并模板设置,当我合并文档时,我想将结果拆分成单独的文件,每个文件的名称都基于合并字段“ FileNumber”。

我目前拥有的代码是:

Sub splitter()
' Based on a macro by Doug Robbins to save each letter created by a mailmerge as a separate file.
' With help from http://www.productivitytalk.com/forums/topic/3927-visual-basic-question-for-merge-fields/

Dim i As Integer
Dim Source As Document
Dim Target As Document
Dim Letter As Range
Dim oField As Field
Dim FileNum As String

Set Source = ActiveDocument

For i = 1 To Source.Sections.Count
    Set Letter = Source.Sections(i).Range
    Letter.End = Letter.End - 1
        For Each oField In Letter.Fields
        If oField.Type …
Run Code Online (Sandbox Code Playgroud)

vba ms-word mailmerge word-vba

2
推荐指数
1
解决办法
7万
查看次数

使用VBA /宏将Word表中的某些单元格右对齐

对VBA来说是非常新的东西,但我们的客户希望将1,850页Word Tables中的所有数据正确对齐。我认为这在VBA中非常容易。我正在尝试解决问题,我敢肯定自己会自己确定,但是最后期限迫使我寻求帮助。因此,如果我错过了已发布的解决方案,请提前致歉。

例如,他们想要这样:

在此处输入图片说明

要这样:

在此处输入图片说明

所以我有:

 Dim oTable As Table
    Dim oRow As Row

    For Each oTable In ActiveDocument.Tables
     For Each oRow In oTable.Rows
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何仅遍历表的主体。同样,前4行(表标题)也合并到一个单元格中,第一列仍然保持对齐。帮助,下回合对我:)

vba ms-word word-vba

2
推荐指数
1
解决办法
2万
查看次数

仅搜索文本用户已选择

我习惯使用Selection.WholeStory,但现在有一个宏,我在那里做了很多搜索和替换操作.我只希望模块在运行宏之前在用户选择的选择中进行搜索和替换.

我怎样才能做到这一点?我已经尝试过Selection.Text,但Word告诉我这是Text属性的无效使用.

补充: 我的模块就是这样开始的

Sub Bibliography()

With ActiveDocument
        .TrackRevisions = False
        .PrintRevisions = False
        .ShowRevisions = False
End With
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Run Code Online (Sandbox Code Playgroud)

通过不指定选择对象,我应该只获得用户在运行宏之前已经做出的选择.但这似乎不起作用.例如,下面的代码改变了整个文档中的出现次数,而不仅仅是用户做出的选择

With Selection.Find
    .Text = "%"
    .Replacement.Text = " %"
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Run Code Online (Sandbox Code Playgroud)

vba ms-word word-vba

2
推荐指数
1
解决办法
3234
查看次数

使用AddPicture方法单词vba调整图像属性

我需要编辑通过AddPicture方法插入的图像的属性。

1)我需要将高度调整为0.5英寸,并且宽度可变(锁定纵横比)。

2)自动换行=“在文字前面”

用这种方法可以吗?如果是这样,如何添加这些属性?如果没有,我应该使用什么其他方法?

Sub replaceWithImage()

Dim imageFullPath As String
Dim FindText As String
imageFullPath = "C:\Logo.jpg"
FindText = "PlaceHolder"

'Application.ScreenUpdating = False
With Selection
    .HomeKey Unit:=wdStory

    With .Find
        .ClearFormatting
        .text = FindText
        ' Loop until Word can no longer
        ' find the search string, inserting the specified image at each location
        Do While .Execute
            Selection.MoveRight
            Selection.InlineShapes.AddPicture FileName:=imageFullPath, LinkToFile:=False, SaveWithDocument:=True
        Loop

    End With
End With


    End Sub
Run Code Online (Sandbox Code Playgroud)

vba ms-word word-vba

2
推荐指数
1
解决办法
2万
查看次数

如何遍历word文档中的每个单词 - VBA宏

我知道如何获得word文档中的每个段落.但我正在寻找一种循环MS Word文档中每个单词的方法.

Sub Sample()

Dim apara As Paragraph
Dim lineText As String


For Each apara In ActiveDocument.Paragraphs

      lineText = apara.Range

     'Now print the paragraph 

       Debug.Print lineText 

Next apara

End Sub
Run Code Online (Sandbox Code Playgroud)

vba word-vba

2
推荐指数
1
解决办法
1万
查看次数

使用VBA获取单词中的所有交叉引用

我有一个很大的word文档(> 400页),有很多标题的交叉引用.到目前为止,我总是提到标题的标题,但现在我想改变它并参考标题所在的页面.

我没有通过GUI找到解决方案(当然除了手动处理),所以我正在研究编写一些VBA.不幸的是,我只找到了一种方法来列出所有可以交叉引用的目标(via GetCrossReferenceItems),但我需要一种方法来访问实际的交叉引用字段.

你能帮帮我吗?交叉引用字段是否与超链接相同?

vba ms-word word-vba

2
推荐指数
1
解决办法
6287
查看次数

如何使用VBA将变量永久存储在Word 2010文档中?

我知道如何在使用VBA的Word 2010中使用变量。但是,当文档关闭并重新打开时,它们全部重置。

如何将变量永久存储在Word文档中?

variables vba ms-word word-vba word-2010

2
推荐指数
1
解决办法
3590
查看次数

在VBA中创建和使用命名的互斥锁

我正在WordExcelVBA 做一些交错的剪贴板魔术,我认为剪贴板是一种共享资源,可能应该由一个简单的互斥体来保护。

我将如何在VBA中创建和释放命名互斥体?我找不到与VBA相关的任何内容。好像没有人从VBA创建互斥锁。不可能吗

excel vba excel-vba word-vba

2
推荐指数
1
解决办法
1268
查看次数

标签 统计

vba ×10

word-vba ×10

ms-word ×7

excel ×1

excel-vba ×1

mailmerge ×1

variables ×1

word-2010 ×1