从excel VBA

时间:2015-09-25 14:43:21

标签: excel vba excel-vba ms-word

我正在编写一个宏,它将excel文件中的图形粘贴到单词中。

Worksheets(worksheetname).Activate
ActiveSheet.ChartObjects(chartname).Activate
Selection.Cut
mydoc.Activate

正确声明和定义了工作表名称等。

我不知道如何从excel VBA中引用word文档中的一行。我在文档中引用了一行,我可以将其粘贴。

编辑:为了澄清,我可以粘贴到单词中的段落中。我希望指定比段落开头更好的位置:在特定行中,或指定段落的结尾。 /编辑

我唯一的想法是:

Rng = mydoc.Range(doc.Paragraphs(1).Start, mydoc.Paragraphs(1).End - 1).paste

但我认为这是单词式的VBA,它似乎不起作用。

干杯!

2 个答案:

答案 0 :(得分:1)

这有用吗?

Dim r As Range
Set r = d.Paragraphs(i).Range
r.Start = r.End
r.Paste

答案 1 :(得分:0)

我找到了我自己的解决方案,我觉得这很有效。

它实际上会查找文档中的第一个单词,然后查找您想要的行数。

Sub LineSelection()

    Dim WordApp As Object

    Set WordApp = GetObject(, "Word.Application")
    WordApp.Visible = True

    ActiveDocument.Content.Select

    With Word.Selection.Find
        .ClearFormatting
        .Text = "[Type very first word of the Word Document here]"
    End With

    If Word.Selection.Find.Execute Then
        Word.Selection.Select
        Word.Selection.Goto What:=wdGoToLine, Which:=wdGoToNext, Count:=3
        ''instead of [3] type the line you want to go to       >>>     ^^^
    End If

End Sub

希望您觉得此解决方案很有帮助。

我很抱歉,我可能会迟到2。5年。)