C#使用Word中的内置对话框实例

下面是详细的攻略:

使用Word中的内置对话框实例

C#中,我们可以通过调用Word的内置对话框来实现相关功能。具体步骤如下:

  1. 引入Word对象库和对话框对象库

首先我们需要在项目中引入Word对象库和对话框对象库。

using Microsoft.Office.Interop.Word;
using Microsoft.Office.Core;
  1. 创建Word应用程序对象

使用下面的代码创建Word应用程序对象:

Application wordApp = new Application();
  1. 获取Word应用程序中的对象

获取Word应用程序中的对象,如下所示:

Dialog dialog = wordApp.Dialogs[WdWordDialog.wdDialogFileOpen];

这里以获取打开文件对话框对象为例。

  1. 显示内置对话框

使用下面的代码显示内置对话框:

dialog.Show();
  1. 处理返回结果

当用户操作完内置对话框后,我们需要根据返回结果进行处理。

下面是一个完整的示例代码,展示如何使用内置对话框打开文件:

using Microsoft.Office.Interop.Word;
using Microsoft.Office.Core;

namespace WordDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            Application wordApp = new Application();

            Dialog dialog = wordApp.Dialogs[WdWordDialog.wdDialogFileOpen];

            dialog.Show();

            if (dialog.HasOpenFile)
            {
                Document doc = wordApp.ActiveDocument;

                Console.WriteLine("打开的文件路径为:" + doc.FullName);

                doc.Close(WdSaveOptions.wdDoNotSaveChanges);
            }
            else
            {
                Console.WriteLine("未选择文件");
            }

            wordApp.Quit(WdSaveOptions.wdDoNotSaveChanges);
        }
    }
}

上述代码中,我们使用WdWordDialog.wdDialogFileOpen获取到打开文件对话框对象,然后调用Show()方法显示对话框。当用户选择文件后,我们可以使用 HasOpenFile 属性判断是否选择了文件,然后打开文件并获取其路径。

注意,在代码结束时需要关闭Word应用程序。使用Quit()方法即可。

另外,使用上述方法也可以打开其他的内置对话框,比如操作Word的打印预览对话框等。

示例2:插入图片

除了打开文件,我们还可以使用内置对话框插入图片到文档中。具体步骤如下:

  1. 获取插入图片对话框对象

使用下面的代码获取插入图片对话框对象:

Dialog dialog = wordApp.Dialogs[WdWordDialog.wdDialogInsertPicture];
  1. 显示内置对话框

使用下面的代码显示内置对话框:

dialog.Show();
  1. 获取选择的图片路径

当用户选择好图片后,我们可以使用下面的代码获取其路径:

string selectedPath = dialog.GetType().InvokeMember("FileName", BindingFlags.GetProperty, null, dialog, null).ToString();
  1. 插入图片

使用以下代码向Word文档中插入选择的图片:

Selection selection = wordApp.Selection;
InlineShape shape = selection.InlineShapes.AddPicture(selectedPath, false, true);

// 调整图片大小,并居中
shape.ScaleHeight = 50;
shape.ScaleWidth = 50;
shape.Range.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;

上述代码中,我们使用InlineShapes.AddPicture()方法向Word文档中添加图片,用ScaleHeightScaleWidth方法调整图片大小,用Paragraphs.Alignment属性将图片居中显示。

以下代码展示了完整的示例:

using Microsoft.Office.Interop.Word;
using Microsoft.Office.Core;
using System.Reflection;
using System;

namespace WordDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            Application wordApp = new Application();
            wordApp.Visible = true;

            Dialog dialog = wordApp.Dialogs[WdWordDialog.wdDialogInsertPicture];
            dialog.Show();

            if (dialog.GetType().InvokeMember("Value", BindingFlags.GetProperty, null, dialog, null).ToString() == "-1")
            {
                string selectedPath = dialog.GetType().InvokeMember("FileName", BindingFlags.GetProperty, null, dialog, null).ToString();

                Selection selection = wordApp.Selection;
                InlineShape shape = selection.InlineShapes.AddPicture(selectedPath, false, true);

                shape.ScaleHeight = 50;
                shape.ScaleWidth = 50;
                shape.Range.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
            }

            wordApp.Quit(WdSaveOptions.wdDoNotSaveChanges);
        }
    }
}

上述代码中,我们首先使用WdWordDialog.wdDialogInsertPicture获取插入图片对话框对象,然后通过调用Show()方法显示对话框。当用户选择好图片后,我们使用 GetType(), InvokeMember() 方法获取选择的图片路径,并调用AddPicture()方法向Word文档中插入该图片。最后使用ScaleHeightScaleWidth调整图片大小,并使用Alignment属性居中显示。

以上就是使用Word内置对话框的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#使用Word中的内置对话框实例 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • C#保存上传来的图片示例代码

    C#保存上传来的图片是一项常见的操作,下面是一个完整的攻略说明: 1.前置条件 在进行C#保存上传来的图片的操作时,首先我们需要创建一个ASP.NET Web应用程序。创建完成后,我们需要在Web.config配置文件中设置文件上传的相关参数: <system.web> <httpRuntime maxRequestLength=&quot…

    C# 2023年6月1日
    00
  • C#运行程序时阻止关闭显示器和系统待机

    为了防止程序在运行时关闭显示器或使系统进入待机状态,我们需要对程序进行一些设置。 方法1:利用Windows API函数 1. 引用Windows API函数 我们可以使用SetThreadExecutionState这个API函数来实现防止系统进入待机状态和关闭显示器,需要在代码中引用kernel32.dll库和SetThreadExecutionStat…

    C# 2023年6月7日
    00
  • 【开源游戏】Legends-Of-Heroes 基于ET 7.2的双端C#(.net7 + Unity3d)多人在线英雄联盟风格的球球大作战游戏。

    Legends-Of-Heroes 一个LOL风格的球球大作战游戏,基于ET7.2,使用状态同步  Main 基于C#双端框架[ET7.2],同步到ET主干详情请看日志。(https://github.com/egametang/ET) 注意:已经升级.Net7,请安装.Net7 SDK. 此游戏为ET7.2的一个实践项目demo,玩法主要是球球大作战类型的…

    C# 2023年5月9日
    00
  • 关于C#中的Invoke示例详解

    对于关于C#中的Invoke示例详解,我们可以按照以下步骤进行: 1. 什么是Invoke 在C# 中,Invoke是一个委托的方法,当我们使用多线程访问 UI 元素时,就需要使用Invoke。因为大多数的UI组件是跨线程的,而直接对线程不安全的UI组件进行操作会导致线程异常或UI操作的错误。 2. Invoke的使用场景及语法 使用Invoke的典型场景是…

    C# 2023年5月31日
    00
  • ASP.NET中Dictionary基本用法实例分析

    下面是ASP.NET中Dictionary基本用法实例分析的攻略: 概述 在ASP.NET中Dictionary是一种非常常用的数据结构,主要用于存储键值对。它可以帮助我们快速查询键对应的值,是一种高效的存储方式。本篇攻略将对ASP.NET中Dictionary的基本用法进行详细的讲解,并且提供两个实例来帮助理解。 Dictionary基本用法 创建Dict…

    C# 2023年6月3日
    00
  • Unity Shader实现玻璃材质效果

    下面是Unity Shader实现玻璃材质效果的完整攻略: 第一步:创建一个透明材质球 首先,在Unity中创建一个透明材质球。在Unity菜单栏中选择Assets->Create->Material,右键选择Rename,将Material更名为“Glass”。 第二步:设置Glass的Shader为Transparent 在“Glass”的I…

    C# 2023年6月3日
    00
  • asp.net repeater手写分页实例代码

    下面是详细讲解“asp.net repeater手写分页实例代码”的完整攻略,包括以下内容: 实现分页的原理 asp.net repeater手写分页实例的步骤 示例代码说明 实现分页的原理 asp.net中实现自定义分页的原理是先查询出所有数据,再通过页面传递参数来获取当前页码,根据当前页码将所有数据分页显示出来。 具体实现方式是,先使用SQL语句查询出所…

    C# 2023年5月31日
    00
  • c#并行编程示例分享

    下面是“C#并行编程示例分享”的完整攻略。 1. 什么是并行编程 并行编程是指在多个处理单元上同时执行多个或者相同的任务。在单核情况下,多个任务在同一时间只有一个能够被执行,但是在多核情况下,多个任务可以被分配到各个核心上同时执行。并行编程能够提高程序的性能和响应能力。 2. C#的并行编程 C# 中的并行编程主要是通过 Task Parallel Libr…

    C# 2023年6月1日
    00
合作推广
合作推广
分享本页
返回顶部