首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取活动word文档对象

获取活动word文档对象
EN

Stack Overflow用户
提问于 2019-01-21 11:36:34
回答 2查看 1.9K关注 0票数 0

我正在将一个VB6项目转换为C#,我需要获取活动word文档对象。在vb6中,使用

代码语言:javascript
运行
复制
dim objWordDoc as Word.Document
set objWordDoc = Word.ActiveDocument

我需要使用C#获取单词的活动word文档。我已将下列参考资料加入该计划。

并将对该类的引用添加为

代码语言:javascript
运行
复制
using Word = Microsoft.Office.Interop.Word;
using Office = Microsoft.Office.Core;

Private Word.Document _activeDocument;

是否有类似于C#的函数来获取活动word文档?

代码语言:javascript
运行
复制
_activeDocument = Word.Application.ActiveDocument;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-24 11:52:22

我找到了答案。

代码语言:javascript
运行
复制
object word;
Word.Document _activeDocument;

        try
        {
            word = System.Runtime.InteropServices.Marshal.GetActiveObject("Word.Application");
            //If there is a running Word instance, it gets saved into the word variable
        }
        catch (Exception ex)
        {
            //If there is no running instance, it creates a new one
            Type type = Type.GetTypeFromProgID("Word.Application");
            word = System.Activator.CreateInstance(type);
        }


        Word.Application oWord = (Word.Application) word;
        _activeDocument = oWord.ActiveDocument

我用这个问题的答案找到了这个。Find existing instance of Office Application

票数 0
EN

Stack Overflow用户

发布于 2019-08-16 20:43:12

我认为

代码语言:javascript
运行
复制
var app = Globals.ThisAddIn.Application;
var wind = app.ActiveWindow;
var doc = wind.Document;

A Globals是外接程序类的成员.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54289143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档