首页 > 解决方案 > PowerPoint 通过 VBA 或 C# 更改墨水颜色(或活动笔)

问题描述

经过几个小时的谷歌搜索/搜索/调试后,我决定问。

在 PowerPoint 中墨迹书写时如何更改活动笔或仅更改颜色。

场景:目前正在用绿色笔在我的 PPT 上墨迹并想将其更改为红色。请注意,这不是在幻灯片放映期间,而是在幻灯片编辑模式下。

我需要的是要么

  1. 更改当前选定的笔颜色
  2. 更改当前选定的笔

在此处输入图像描述

在此处输入图像描述

经过进一步研究,我发现了一个代码,它可以根据 ID 单击功能区上的项目,但我还没有找到适当的 ID/动作来单击笔。

var app = new Application();
app.Visible = MsoTriState.msoTrue;
var ppt = app.Presentations.Open( @"test.pptx" );

var control = app.CommandBars.FindControl(
    MsoControlType.msoControlButton,
    120 // ID
);

control.Execute();

标签: c#.netvbapowerpoint

解决方案


抱歉,由于墨迹书写主要是为幻灯片放映期间的注释而开发的,因此 VBA 对象模型将.PointerColor放在.SlideShowSettings对象下。此代码可用于在表演期间更改颜色:

Sub RedInk()
    ActivePresentation.SlideShowSettings.Run.View.PointerColor.RGB = RGB(255, 0, 0)
End Sub

此代码将设置指针颜色,但在您开始显示之前它不会可见:

Sub RedInkPreset()
    ActivePresentation.SlideShowSettings.PointerColor.RGB = RGB(255, 0, 0)
End Sub

在 Microsoft 将其添加到可在编辑模式下使用的对象(如ActivePresentation.Slides)之前,任何编程语言中的当前对象模型中都没有任何内容可以执行您想要的操作。


推荐阅读