【问题标题】:using Microsoft interop to fill a letter in Word C#使用 Microsoft interop 在 Word C# 中填写一个字母
【发布时间】:2017-07-08 12:57:30
【问题描述】:

我正在尝试使用 C# 中的互操作在 Microsoft Word 中填充字母的程序。 我已经硬编码了所有要在我的程序中填写的文本。

但是在运行我的程序时,我可以看到我无法在我的计算机中使用正常的复制和粘贴选项。这样做时,它会将我的程序复制的文本粘贴到剪贴板中。这个问题有解决办法吗

【问题讨论】:

    标签: c# ms-word interop


    【解决方案1】:

    在使用互操作修改 Word 文档时,我使用“替换书签”功能。您在模型 .doc 中定义 书签,然后在运行时将它们替换为我编写此函数的文本

    Public Shared Sub ReplaceBookmarkText(ByVal doc As Microsoft.Office.Interop.Word.Document, ByVal bookmarkName As String, ByVal text As String)
        If (doc.Bookmarks.Exists(bookmarkName)) Then
            Dim range As Microsoft.Office.Interop.Word.Range = doc.Bookmarks(bookmarkName).Range
            range.Text = text
            doc.Bookmarks.Add(bookmarkName, range)
        End If
    End Sub
    

    【讨论】:

    • 问题是在进程运行时,我无法在我的系统中使用正常的复制或粘贴功能。程序中断
    • 填充过程发生在后台,实际上并没有“看到”打开的文档。这是一个所谓的批处理过程。互操作库在后台打开 .doc 并更新其内容。
    • 我同意,只是想知道我是否可以采取措施阻止剪贴板中的数据混乱?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-12
    • 1970-01-01
    • 2016-11-08
    • 1970-01-01
    • 2015-05-22
    • 2014-04-07
    • 1970-01-01
    相关资源
    最近更新 更多