繁体   English   中英

在文档中的特定位置插入文本

[英]Insert text at specific place in the document

当我将数据插入书签时,它会转到行的开头。

在段落中间插入文本需要设置什么属性?

从 Excel 复制数据
到目前为止尝试过:
复制范围并粘贴
从值复制文本并粘贴特殊
粘贴随处可见,但不在书签处。

If wDoc.Bookmarks.Count = 0 Then GoTo BookmarkMissing

    For i = 1 To wDoc.Bookmarks.Count
        If wDoc.Bookmarks(i).Name = sBookmarkName Then
            Set wdRange = wDoc.Bookmarks(i).Range
            Let bBookmarkFound = True
        End If
    Next i
    If Not bBookmarkFound Then GoTo BookmarkMissing
Else
    Set wdRange = wDoc.Range
End If
    
MyData.SetText rngToSend.Value2
MyData.PutInClipboard

On Error Resume Next

On Error GoTo 0

'rngToSend.Copy

'wdRange.PasteSpecial Placement:=wdFloatOverText, DataType:=2
wdRange.InsertAfter
wdRange.Tables(1).ConvertToText Separator:=" "
'wdRange.PasteSpecial Placement:=wdFloatOverText, DataType:=2
'wdRange.PasteSpecial Placement:=wdInLine

您的代码可以大大简化。 不需要遍历书签来查找您需要的书签是否存在,因为对象模型有一种方法可以做到这一点。

所以这段代码:

  If wdoc.Bookmarks.Count = 0 Then GoTo BookmarkMissing
  For I = 1 To wdoc.Bookmarks.Count
      If wdoc.Bookmarks(I).name = sBookmarkName Then
          Set wdRange = wdoc.Bookmarks(I).Range
          Let bBookmarkFound = True
      End If
  Next I
  If Not bBookmarkFound Then GoTo BookmarkMissing

可以换成这个

  If wdoc.Bookmarks.Exists(sBookmarkName) Then
    wdoc.Bookmarks(sBookmarkName).Range.text = rngToSend.Value2
  Else
    GoTo BookmarkMissing
  End If

由于您正在移动纯文本,因此不需要剪贴板。

wDoc.Bookmarks(i).Range.Text = rngToSend.Value2

谢谢你们的帮助。 但是,我有一个错误,一行旧代码(在我的帖子中不可见)仍然将值粘贴为 Excel 范围并插入表格而不是文本。

所以现在解决了

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM