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

yizhihongxing

下面是详细的攻略:

使用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日

相关文章

  • Winform学生信息管理系统各子窗体剖析(3)

    首先需要明确一下,这篇文章是对Winform学生信息管理系统中各子窗体的剖析,本文分析的是第三部分,主要涉及的子窗体包括“学生公寓管理”、“学生缴费管理”、“学生考勤管理”和“学生成绩管理”。 学生公寓管理 学生公寓管理子窗体主要用于管理学生的住宿信息,包括宿舍楼、房间、住宿人员等信息。具体的功能如下: 宿舍楼管理:可以添加、修改、删除宿舍楼信息; 房间管理…

    C# 2023年6月2日
    00
  • C#简单邮件群发通用类

    首先我们需要明确什么是C#邮件群发通用类。它是一种在C#编程语言下编写的针对邮件群发的通用类,可以基于.NET Framework的邮件类库(如SmtpClient)来快速发送“批量邮件”。下面是介绍如何编写和使用C#简单邮件群发通用类的步骤: 编写邮件群发通用类 1. 创建C#项目 在Visual Studio中创建一个新的控制台应用程序,我们将在该项目下…

    C# 2023年6月1日
    00
  • .NET MVC中ViewData,ViewBag和TempData的区别浅析

    视图数据传递的作用 在MVC框架的开发中,视图所需要的数据可以通过视图中的一个变量或对象来接收,因此需要将需要传递的数据先存储到某一个传递的变量中,在视图中再进行读取和使用。而ViewData、ViewBag和TempData这三个可选项都可以用来传递这些数据。 ViewData是一个字典类型的对象,可以用于在控制器和视图之间传递数据,所传递的数据只在请求期…

    C# 2023年5月31日
    00
  • C#实现类似qq的屏幕截图程序

    下面是“C#实现类似qq的屏幕截图程序”的完整攻略: 1.概述 通常实现屏幕截图的方式是利用系统API,将当前屏幕截图保存至剪切板中,进而另行操作。需要说明的是,虽然C#中提供了WinForm等快速开发工具,但利用系统API会是更加底层、高效的方法。 2.实现步骤 2.1.注册快捷键 用户在截图的时候经常需要使用快捷键配合,所以先来一段注册程序快捷键的代码。…

    C# 2023年6月6日
    00
  • C#软件注册码的实现代码

    下面为您提供 “C#软件注册码的实现代码” 的详细攻略。 1. 概述 “软件注册码” 是一串由软件作者生成的唯一代码,用于验证软件的合法性。通常,用户需要在安装软件后输入注册码,以便解锁软件的全部功能。 在C#语言中,我们可以生成随机的注册码,并将其与用户输入的注册码进行比对来验证其合法性。 2. 实现方法 我们可以使用”MD5加密算法”和”Base64编码…

    C# 2023年5月31日
    00
  • C#编程获取各种电脑硬件信息的方法示例

    C#是一种流行的面向对象编程语言,可以获取电脑硬件信息,并且是比较容易实现的。下面,我将分享一些示例代码,用以获得各种电脑硬件信息的方法。 硬件信息获取方法一:使用System.Management命名空间 System.Management命名空间提供了一种获取WMI(Windows Management Instrumentation)服务的方法,该服务…

    C# 2023年6月7日
    00
  • C#实现销售管理系统

    作为网站的作者,我很荣幸能够为大家讲解如何实现C#的销售管理系统。下面我将详细介绍该系统的实现攻略,希望对大家有所帮助。 1. 系统框架设计 系统框架设计是整个系统开发的基础,设计好系统框架后,才能更好地实现系统的具体功能。在此,我们可以采用三层架构进行设计,分别是数据访问层、业务逻辑层和表示层。具体的,数据访问层主要负责数据的访问、查询和修改;业务逻辑层主…

    C# 2023年6月1日
    00
  • C#语法新特性之元组实例详解

    C#语法新特性之元组实例详解 什么是元组? 元组是C# 7.0版本引入的一种新的类型,它可以存储一组数据,而不是单一类型的数据。它的出现使得我们可以更方便地组合和传递数据。 元组可以用于处理多个返回值,而不必引入一个专门的类型来保存它们。元组内部可以存储不同类型的数据,这是它与数组和列表等常规集合类型的主要区别。 如何使用元组? 创建元组 创建元组很简单,可…

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