我想制作一个能够启动,暂停,停止,关闭测验演示的表单控件(按下开始时将运行倒计时时间).问题出在一些演示文稿中,有可用的视频(每张幻灯片最多只能包含1个视频,而不是每张幻灯片都包含它).
这些是我用于在createPresentation方法中添加视频的一些代码片段:
PowerPoint.Slides oSlides = null;
PowerPoint.Slide oSlide = null;
int ctrSoal = 0;
foreach (CQuestion myQuestion in Global.questions)
{
ctrSoal++;
oSlides = oPre.Slides;
oSlide = oSlides.Add(ctrSoal, PowerPoint.PpSlideLayout.ppLayoutTextAndTwoObjects);
oShape2 = oSlide.Shapes[4];
oSlide.Shapes.AddMediaObject(System.IO.Path.Combine(Global.myVideoLocation, myQuestion.video), oShape2.Left, oShape2.Top, oShape2.Width, oShape2.Height);
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经尝试过此链接的一些解决方案
private void startToolStripMenuItem_Click(object sender, EventArgs e)
{
PowerPoint.Slides oSlides = null;
PowerPoint.Slide oSlide = null;
int ctrSoal = 0;
foreach (CQuestion myQuestion in Global.questions)
{
ctrSoal++;
oSlides = oPre.Slides;
oSlide = oSlides.Add(ctrSoal, PowerPoint.PpSlideLayout.ppLayoutTextAndTwoObjects);
var playVideo = oSlide.TimeLine.MainSequence.FindFirstAnimationFor(oSlide);
} …Run Code Online (Sandbox Code Playgroud) 我正在使用Powerpoint 2007,我在同一文档中设置了从幻灯片A到幻灯片B的超链接.在幻灯片放映中,超链接工作正常.
但是在幻灯片B之后,我怎么能回到幻灯片A本身?
我的幻灯片结构如下:
Slide A -> Link 1 to Slide B (after viewing slide B, should return back to Slide A)
Link 2 to Slide C
Link 3 to Slide D
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?当我设置超链接时,有一个选项,如SHOW AND RETURN,但默认情况下它被禁用.如何启用它?
请帮忙.谢谢
我是VBA和Office Ribbon UI的初学者.我正在使用Office 2007并使用自定义UI在PPTM中开发功能区.我添加了一组XML,如下所示:
<group id="myGroup" label="Hello World" visible="false">
<labelControl id="lblUsername" label="Your Username: " />
<labelControl id="lblFullname" label="" />
</group>
Run Code Online (Sandbox Code Playgroud)
所以,在这个Hello World选项卡,我想它的可见性改变true,改变的数值lblUsername和lblFullname.目前,必须在此按钮的上一次调用之后完成此操作:
<button id="signin" label="Sign In" image="signin" size="large"
supertip="Click this button to sign in."
onAction="ribbon_SignIn" tag="SignIn" />
Run Code Online (Sandbox Code Playgroud)
现在的代码ribbon_SignIn如下:
Sub ribbon_SignIn()
SignIn.Show
End Sub
Run Code Online (Sandbox Code Playgroud)
这将打开SignIn表单并从用户获取用户名和密码.验证用户名和密码后,一切顺利,但我不确定获取控件属性lblUsername和lblFullname使用登录用户的详细信息更改其值的过程是什么.
在SignIn表单中,我有以下代码的Sign In按钮.
Private Sub btnSignIn_Click()
' Authentication Mechanism
MsgBox "You have successfully signed in!"
' …Run Code Online (Sandbox Code Playgroud) 基本上,我试图在 Windows 中打开 powerpoint 文件后立即运行一些 VBA 代码。我不想在演示开始时运行它,但我想这将是一种替代方案。我也不太确定该怎么做。
在 Excel 中我会使用这个:
Private Sub Workbook_Open()
'Do something here
End Sub
Run Code Online (Sandbox Code Playgroud)
有谁知道不使用加载项的 Powerpoint 2007 的替代方案吗?
在 PowerPoint 2013 中,可以从 CommandBar 对象获取选择窗格属性,如下所示:
Application.CommandBars("Selection")
Run Code Online (Sandbox Code Playgroud)
(请注意,对于 PowerPoint 2010 和 2007,名称为“选择和可见性”)
在 UI 中使用 Alt+F10 显示选择窗格时,以下两个属性将切换为 true:
Application.CommandBars("Selection").Visible
Application.CommandBars("Selection").Enabled
Run Code Online (Sandbox Code Playgroud)
但是,当尝试以编程方式将这些设置为 true 时,.Visible=True 语句会导致发生未指定的自动化错误,并且 .Enabled=True 语句会执行,但不会更改此属性的状态。
但是,这是奇怪的部分,如果在 PowerPoint 首次运行时使用 Alt+F10 显示和隐藏选择窗格,那么这两行代码就可以工作!我检查了 Alt+F10 之前和之后的所有属性,只有 .Visible 和 .Enabled 属性被切换。
如何可靠且更好地显示选择窗格,而无需沿着 SendKeys 路线进行?
powerpoint vba powerpoint-2007 powerpoint-2010 powerpoint-2013
我想在Windows上的PowerPoint 2007中执行以下两项操作之一。
第一种是更改粘贴图像的默认位置。当我粘贴使用SAS制作的图形时,它将粘贴到左上角。理想情况下,我想更改默认粘贴位置。似乎没有任何简单的选择,但是我认为VBA可能是可行的。
如果不可能,那么我想编写一个VBA宏以逐步浏览每张幻灯片并更改图像位置。
感谢这个网站和其他网站,我有了一个幻灯片循环(MsgBox只是一个测试):
Sub SlideLoop()
Dim osld As Slide
For Each osld In ActivePresentation.Slides
osld.Select
MsgBox "The slide index of the current slide is: " & _
ActiveWindow.View.Slide.SlideIndex
Next osld
End Sub
Run Code Online (Sandbox Code Playgroud)
除此之外,我没有太多运气。我已经看到了一些代码片段,这些片段选择了幻灯片上的所有图像并对其进行裁剪或调整其大小,并且我在excelhelphq.com上找到了用于放置图像的位:
With ActiveWindow.Selection.ShapeRange
.Left = 50 'change the number for desired x position
.Top = 50 'change the number for desired y position
End With
Run Code Online (Sandbox Code Playgroud)
但是我不确定如何将其集成到循环中,并且Powerpoint VBA的在线文档并不是特别可靠。一些代码处理ShapeIndex,但是我不确定如何使用它。
我应该提到的是,当我有一张图像时,一张幻灯片上只有一张图像(尽管有些幻灯片根本没有图像)。
这似乎是最好的节省时间的方法,尽管我仍然首先手动将其粘贴到PowerPoint中。
我对此表示感谢!我找不到任何能解决这个确切问题的东西。
PPT的VBA是否已逐步淘汰?感觉像微软不希望人们能够根据他们的非网上在线文档来弄清楚如何使用它。
我在模块中创建了一个PowerPoint 2007/2010 VBA加载项(.ppam)的一些代码.我还添加了一个XML功能区(不重要,但它告诉我该文件实际上是在PowerPoint中打开的).我可以单击我创建的功能区中的按钮,它将从我的模块执行代码.凉.
当我打开VBA编辑器(ctrl + F11)时,加载项不会显示.事实上,如果我没有打开另一个文档,我甚至无法打开编辑器.我在PowerPoint 2007和2010中尝试过这个.
如何编辑我已经创建的PowerPoint加载项的代码?我在Excel中制作了许多VBA插件,但也许PowerPoint不同(我疯了)?