C# / VB.NET 在PPT中创建、编辑PPT SmartArt图形的方法详解

C# / VB.NET 在PPT中创建、编辑PPT SmartArt图形的方法详解

什么是Office SmartArt?

Office SmartArt 是微软Office套件中的一种图形类型,它可以帮助用户在较短的时间内创建具有高质量的信息图形。它的能力不仅限于流程图和组织结构图,还包括算法图、漏斗图、阶段图、矩阵图、金字塔图等不同种类的图形。

如何在C# / VB.NET中创建和编辑SmartArt图形?

C# / VB.NET 实际上可以通过Office Interop来实现操作PowerPoint对象模型的目的。下面是一个简单的示例来介绍如何在PPT中创建并编辑SmartArt 图形的步骤:

  1. 导入PowerPoint和Office Interop库

C#代码:

using Microsoft.Office.Interop.PowerPoint;
using Microsoft.Office.Core;

VB.NET代码:

Imports Microsoft.Office.Interop.PowerPoint
Imports Microsoft.Office.Core
  1. 创建一个新的PowerPoint文档和幻灯片

C#代码:

Application pptApplication = new Application();
pptApplication.Visible = MsoTriState.msoTrue;

Presentation pptPresentation = pptApplication.Presentations.Add(MsoTriState.msoTrue);
pptPresentation.Slides.Add(1, PpSlideLayout.ppLayoutTitleOnly);

VB.NET代码:

Dim pptApplication As New Application()
pptApplication.Visible = MsoTriState.msoTrue

Dim pptPresentation As Presentation = pptApplication.Presentations.Add(MsoTriState.msoTrue)
pptPresentation.Slides.Add(1, PpSlideLayout.ppLayoutTitleOnly)
  1. 在幻灯片中添加SmartArt图形

C#代码:

Slide slide = pptPresentation.Slides[1];

Shapes shapes = slide.Shapes;
Shape shape = shapes.AddSmartArt(SmartArtLayoutType.smartArtBasicBlockList);

SmartArt smartArt = shape.SmartArt;
smartArt.Nodes.Item(1).TextFrame2.TextRange.Text = "Node 1";
smartArt.Nodes.Item(1).Nodes.Item(1).TextFrame2.TextRange.Text = "Node 1.1";
smartArt.Nodes.Add(2, SmartArtNodePosition.smartArtNodeBelow, "Node 2");

VB.NET代码:

Dim slide As Slide = pptPresentation.Slides(1)

Dim shapes As Shapes = slide.Shapes
Dim shape As Shape = shapes.AddSmartArt(SmartArtLayoutType.smartArtBasicBlockList)

Dim smartArt As SmartArt = shape.SmartArt
smartArt.Nodes.Item(1).TextFrame2.TextRange.Text = "Node 1"
smartArt.Nodes.Item(1).Nodes.Item(1).TextFrame2.TextRange.Text = "Node 1.1"
smartArt.Nodes.Add(2, SmartArtNodePosition.smartArtNodeBelow, "Node 2")

在上述代码中,我们使用 Shapes 对象和 AddSmartArt 方法,在幻灯片中创建了 SmartArt 图形。我们使用 Nodes 属性获取图形中的节点,然后使用 TextFrame2 对象设置节点中的文本。

  1. 编辑SmartArt图形

C#代码:

smartArt.Nodes.Item(2).TextFrame2.TextRange.Text = "Node 2 - Updated";
smartArt.Nodes.Add(3, SmartArtNodePosition.smartArtNodeBelow, "Node 3");
smartArt.Nodes.Item(3).Nodes.Add(1, SmartArtNodePosition.smartArtNodeRight, "Node 3.1");

VB.NET代码:

smartArt.Nodes.Item(2).TextFrame2.TextRange.Text = "Node 2 - Updated"
smartArt.Nodes.Add(3, SmartArtNodePosition.smartArtNodeBelow, "Node 3")
smartArt.Nodes.Item(3).Nodes.Add(1, SmartArtNodePosition.smartArtNodeRight, "Node 3.1")

在上述代码中,我们使用返回的 SmartArt 对象,获取指定节点的 NodesTextFrame2 属性,并且对其进行更新。

示例说明

这是一个C#控制台程序来演示如何创建和编辑SmartArt图形:

using Microsoft.Office.Interop.PowerPoint;
using Microsoft.Office.Core;
using System;

namespace PowerpointSmartArtDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            Application pptApplication = new Application();
            pptApplication.Visible = MsoTriState.msoTrue;

            Presentation pptPresentation = pptApplication.Presentations.Add(MsoTriState.msoTrue);
            pptPresentation.Slides.Add(1, PpSlideLayout.ppLayoutTitleOnly);

            Slide slide = pptPresentation.Slides[1];

            Shapes shapes = slide.Shapes;
            Shape shape = shapes.AddSmartArt(SmartArtLayoutType.smartArtBasicBlockList);

            SmartArt smartArt = shape.SmartArt;
            smartArt.Nodes.Item(1).TextFrame2.TextRange.Text = "Node 1";
            smartArt.Nodes.Item(1).Nodes.Item(1).TextFrame2.TextRange.Text = "Node 1.1";
            smartArt.Nodes.Add(2, SmartArtNodePosition.smartArtNodeBelow, "Node 2");

            Console.WriteLine("SmartArt created successfully");
            Console.WriteLine("Press any key to update the SmartArt");
            Console.ReadKey();

            smartArt.Nodes.Item(2).TextFrame2.TextRange.Text = "Node 2 - Updated";
            smartArt.Nodes.Add(3, SmartArtNodePosition.smartArtNodeBelow, "Node 3");
            smartArt.Nodes.Item(3).Nodes.Add(1, SmartArtNodePosition.smartArtNodeRight, "Node 3.1");

            Console.WriteLine("SmartArt updated successfully");
            Console.ReadKey();

            //关闭 PowerPoint 并释放对象
            foreach (Presentation ppt in pptApplication.Presentations)
            {
                ppt.Close();
            }

            pptApplication.Quit();
        }
    }
}

这是一个VB.NET控制台程序来演示如何创建和编辑SmartArt图形:

Imports Microsoft.Office.Interop.PowerPoint
Imports Microsoft.Office.Core
Imports System

Namespace PowerpointSmartArtDemo
    Class Program
        Shared Sub Main(ByVal args As String())
            Dim pptApplication As New Application()
            pptApplication.Visible = MsoTriState.msoTrue

            Dim pptPresentation As Presentation = pptApplication.Presentations.Add(MsoTriState.msoTrue)
            pptPresentation.Slides.Add(1, PpSlideLayout.ppLayoutTitleOnly)

            Dim slide As Slide = pptPresentation.Slides(1)

            Dim shapes As Shapes = slide.Shapes
            Dim shape As Shape = shapes.AddSmartArt(SmartArtLayoutType.smartArtBasicBlockList)

            Dim smartArt As SmartArt = shape.SmartArt
            smartArt.Nodes.Item(1).TextFrame2.TextRange.Text = "Node 1"
            smartArt.Nodes.Item(1).Nodes.Item(1).TextFrame2.TextRange.Text = "Node 1.1"
            smartArt.Nodes.Add(2, SmartArtNodePosition.smartArtNodeBelow, "Node 2")

            Console.WriteLine("SmartArt created successfully")
            Console.WriteLine("Press any key to update the SmartArt")
            Console.ReadKey()

            smartArt.Nodes.Item(2).TextFrame2.TextRange.Text = "Node 2 - Updated"
            smartArt.Nodes.Add(3, SmartArtNodePosition.smartArtNodeBelow, "Node 3")
            smartArt.Nodes.Item(3).Nodes.Add(1, SmartArtNodePosition.smartArtNodeRight, "Node 3.1")

            Console.WriteLine("SmartArt updated successfully")
            Console.ReadKey()

            '关闭 PowerPoint 并释放对象
            For Each ppt As Presentation In pptApplication.Presentations
                ppt.Close()
            Next

            pptApplication.Quit()
        End Sub
    End Class
End Namespace

这两个程序都会在PPT中创建一个基本块列表SmartArt,并在控制台中输出成功消息,然后更新SmartArt并打印另一条成功消息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# / VB.NET 在PPT中创建、编辑PPT SmartArt图形的方法详解 - Python技术站

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

相关文章

  • jquery连缀语法如何实现

    jQuery连缀语法(Chaining)可以让我们在一个语句中使用多个jQuery方法,以及对元素进行多个操作。这样可以使代码更加紧凑、可读性更高,提升开发效率。 实现连缀语法的关键在于,每个jQuery方法都可以返回jQuery对象本身,使其在下一个方法中能够被继续使用。 下面将详细介绍如何实现jQuery连缀语法的完整攻略: 创建一个jQuery对象 我…

    C# 2023年6月6日
    00
  • .net实现微信公众账号接口开发实例代码

    下面是详细的攻略: 1. 背景介绍 微信公众账号接口开发实例代码是指开发者通过微信公众平台提供的接口,将自己的业务逻辑与微信公众平台的用户进行交互,从而实现业务推广、用户服务等功能的一套开发方案。在这一过程中,开发者需要使用到一些技术工具,比如C#语言、Visual Studio开发环境等。其中,.NET是指微软公司开发的一套开发框架,它可以让程序员使用多种…

    C# 2023年5月31日
    00
  • 深入.net调用webservice的总结分析

    《深入.NET调用Web Service的总结分析》是一篇介绍.Net平台下调用Web服务的文章。其内容主要包括Web服务的概念介绍、使用.Net框架下的方式调用Web服务的具体步骤、调用WebService是需要注意的问题等。 概述 Web服务(Web service)是指通过Internet对外提供的可以被远程应用程序调用的程序接口。在.Net平台下可以…

    C# 2023年6月6日
    00
  • c# 实现的支付宝支付

    以下是详细的“c# 实现的支付宝支付”的完整攻略: 一、创建支付宝开发者账号 在使用支付宝支付之前,我们需要先注册一个支付宝开发者账号。注册完成后,登录 支付宝开放平台 点击“开发文档”,选择“支付宝支付”,然后就可以获得相关的开发文档。 二、开通支付宝支付 开发者账号注册完成后需要开通支付宝支付,并获取 appid、private_key 等信息。 三、引…

    C# 2023年6月6日
    00
  • asp.net数据绑定DataBind使用方法

    ASP.NET数据绑定DataBind使用方法 在ASP.NET中,数据绑定是开发Web应用程序的重要部分。通俗的说,数据绑定就是将数据源中的数据绑定到Web控件上,展现出来给用户。在ASP.NET中,数据绑定主要分为两类:一是控件数据绑定,二是自定义数据模板数据绑定。接下来,我们将一一介绍这两种数据绑定的使用方法。 控件数据绑定 控件数据绑定是指将数据源中…

    C# 2023年5月31日
    00
  • C# Linq的Except()方法 – 返回在一个序列中但不在另一个序列中的元素

    Linq是C#语言的一个强大的功能,可以使得数据的查询和操作变得更加方便和高效。Except()方法也是Linq功能中的一个非常重要的方法,用于提取序列中存在于另一个序列的元素之外的所有元素。下面详细介绍一下Except()方法的使用。 Except()方法的语法 Except()方法具有以下语法: public static IEnumerable<…

    C# 2023年4月19日
    00
  • AOP从静态代理到动态代理(Emit实现)详解

    AOP从静态代理到动态代理(Emit实现)详解 概述 AOP(面向切面编程)是一种程序设计思想,可以在不改变原有代码逻辑的情况下,通过在程序中动态地新增一些逻辑代码,来实现例如日志记录、权限控制、性能监测等功能。而在 AOP 中,一个被增强的方法称为“切入点”,对该切入点进行增强的代码称为“切面”。 在实现 AOP 功能时,静态代理和动态代理是两种比较常见的…

    C# 2023年6月6日
    00
  • C#检查字符串是否是合法URL地址的方法

    C#中检查字符串是否是合法的URL地址,可以通过正则表达式实现。下面是一份完整的攻略: 步骤1:导入需要使用的命名空间 在代码文件的顶部,导入以下两个命名空间: using System; using System.Text.RegularExpressions; 步骤2:编写正则表达式 正则表达式是用来检测字符串是否合法URL的关键。下面是一个常用的URL…

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