C# 将Docx复制到剪贴板C

C# 将Docx复制到剪贴板C,c#,macros,clipboard,docx,C#,Macros,Clipboard,Docx,在过去的两个小时里,我搜索了这个很棒的网站,但在类似的帖子中找不到解决方案 我正在使用第三方工具创建dynamic.docx文件 我需要做的是: 打开每个文件 选择所有内容 将内容复制到Windows剪贴板 创建Word宏是一个同步过程,因为这两行将为我选择所有内容并复制内容 Selection.WholeStory Selection.Copy 有人知道如何将这两行代码转换成等价的C代码吗?我不确定在我的情况下运行外部宏是否理想,因为将使用包括将数据临时复制到剪贴板的整个工具链的某些用户将不

在过去的两个小时里,我搜索了这个很棒的网站,但在类似的帖子中找不到解决方案

我正在使用第三方工具创建dynamic.docx文件

我需要做的是:

打开每个文件 选择所有内容 将内容复制到Windows剪贴板 创建Word宏是一个同步过程,因为这两行将为我选择所有内容并复制内容

Selection.WholeStory
Selection.Copy
有人知道如何将这两行代码转换成等价的C代码吗?我不确定在我的情况下运行外部宏是否理想,因为将使用包括将数据临时复制到剪贴板的整个工具链的某些用户将不允许运行Office宏-公司策略

使用C,我尝试了以下步骤。我正在做的是打开一个.docx文件,选择正文内容并尝试将其复制到Windows剪贴板。我无法让它工作

using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;
using System;

namespace copy_docx_clipboard
{
    using System.Windows.Forms;

    internal class Program
    {
        [STAThread]
        private static void Main(string[] args)
        {
            string fileName = @"C:\out\table_42.docx";
            using (WordprocessingDocument wordDocument = WordprocessingDocument.Open(fileName, false))
            {
                Body body = wordDocument.MainDocumentPart.Document.Body;
                Clipboard.Clear();
                Clipboard.SetDataObject(body, true, 5, 200);

                Console.WriteLine("done");
                Console.ReadKey();
            }
        }
    }
}
我将内容复制到Windows剪贴板的原因是此工具链中的另一个工具将是接收器。我知道剪贴板上的文本,但我无法使用,因为将要复制的一些数据将是单词表、图片、数字等,基本上是动态的


任何见解、技巧和指向文档的要点都将不胜感激。

使用剪贴板。SetDataObjectbody,true,5200;这是行不通的。您可以使用设置剪贴板

  Clipboard.SetText(body.InnerText, TextDataFormat.Unicode);
但是,这是InnerText,它只是文本,不包含任何格式。或者,您可以将正文作为XML文档,并使用Xpath查询遍历文档的元素,以获得KyleM在本文中描述的所需详细信息。
使用剪贴板。SetDataObjectbody,true,5200;这是行不通的。您可以使用设置剪贴板

  Clipboard.SetText(body.InnerText, TextDataFormat.Unicode);
但是,这是InnerText,它只是文本,不包含任何格式。或者,您可以将正文作为XML文档,并使用Xpath查询遍历文档的元素,以获得KyleM在本文中描述的所需详细信息。

那么您所说的工具可以与WordprocessingDocument一起使用吗?这里涉及到几种工具,希望这更清晰。工具A生成我解析的.DOCX文件。无论如何,我无法控制工具A。我编写了工具B,它将解析来自创建N.docx文件的工具A的内容。工具C,我的文章是关于它的,它将为我打开一个工具B文件,以便将内容复制到剪贴板中,以便在工具D中使用。工具D可以读取Windows剪贴板,而且遗憾的是,它的API非常有限。而且,工具D不能处理文字处理文档。工具D可以处理什么?夹板可以有什么吗?您是否只希望将字符串内容复制到剪贴板?这样您所说的工具就可以与WordprocessingDocument一起使用?这里涉及到几种工具,希望这更清晰。工具A生成我解析的.DOCX文件。无论如何,我无法控制工具A。我编写了工具B,它将解析来自创建N.docx文件的工具A的内容。工具C,我的文章是关于它的,它将为我打开一个工具B文件,以便将内容复制到剪贴板中,以便在工具D中使用。工具D可以读取Windows剪贴板,而且遗憾的是,它的API非常有限。而且,工具D不能处理文字处理文档。工具D可以处理什么?夹板可以有什么吗?是否只希望将字符串内容复制到剪贴板?