标签: powerpoint-vba

EXcel VBA:Excel宏在PowerPoint中创建表

我的要求是我有一个包含一些数据的Excel.我想从excel中选择一些数据并打开一个PowerPoint文件

在PowerPoint中创建表并将数据填充到其中

现在我已经成功地从Excel中通过Excel VBA代码打开PowerPoint文件中收集数据.

从Excel打开PowerPoint的代码.

    Set objPPT = CreateObject("Powerpoint.application")
    objPPT.Visible = True
    Dim file As String
    file = "C:\Heavyhitters_new.ppt"
    Set pptApp = CreateObject("PowerPoint.Application")
    Set pptPres = pptApp.Presentations.Open(file)
Run Code Online (Sandbox Code Playgroud)

现在,如何从Excel在PowerPoint中创建表并填充数据.

及时的帮助将非常感激.

提前致谢,

excel powerpoint vba excel-vba powerpoint-vba

6
推荐指数
2
解决办法
3万
查看次数

在VBA中设置全局变量

我目前在PowerPoint中制作"操作系统",我需要知道如何为设置设置全局变量.

我创建了一个名为"Settings"的模块,其中包含:

Public Sub Settings()

Option Explicit
Public UserName, UserIcon, Background, BrowserHomePage As String
Public SetupComplete As Boolean

SetupComplete = False
UserName = "Administrator"
UserIcon = Nothing
Background = Nothing
BrowserHomePage = Nothing

'Set the variables
UserName.Text = UserName

End Sub
Run Code Online (Sandbox Code Playgroud)

现在在"登录"屏幕上,我有一个名为"UserName"的文本框.然后我做了一个按钮来测试变量.按钮执行此操作:

Private Sub CommandButton1_Click()
UserName.Value = UserName
End Sub
Run Code Online (Sandbox Code Playgroud)

单击按钮时,文本框没有任何值.我是VBA的新手,想知道如何做到这一点.此外,如果有人知道如何在启动PowerPoint时自动执行代码,那将是非常棒的.

编辑:我正在尝试制作一个只包含设置的模块.有人可以指出如何更改幻灯片中的值吗?就像我单击幻灯片1中的按钮一样,我希望它将模块"设置"中的"UserName"值更改为我想要的任何值.

解决方案:好的,我找到了一个解决方案.我必须将设置写入文本文件并检索它以供阅读.

我的设置模块:

Public UserName As String, Password As String, UserIcon As String, DesktopBackground As String, LogInBackground As String, BrowserHomePage As String
Public InitialSetupCompleted As Boolean

Public Sub …
Run Code Online (Sandbox Code Playgroud)

variables powerpoint vba global powerpoint-vba

6
推荐指数
1
解决办法
8万
查看次数

在powerpoint 2007中调整图片大小

我环顾四周.我能找到的只是在Excel或Excel中调整大小.

我正在从pdf粘贴一张图片,需要点击一下调整大小和定位.

powerpoint powerpoint-vba

6
推荐指数
1
解决办法
2万
查看次数

单击时PowerPoint文本更改

我有几个文本框.

他们说:

Fruit 1
Fruit 2
Fruit 3
Run Code Online (Sandbox Code Playgroud)

单击每个文本时,文本应相应更改为:

Apple
Banana
Dragonfruit
Run Code Online (Sandbox Code Playgroud)

当单击其中一个时,我希望它更改为相应的文本,但其他文本保持不变.

有没有办法做到这一点,而不只是超链接一堆幻灯片?(那将是8张幻灯片,顺便说一句).我假设一个替代方法将不得不使用VBA编码,但我宁愿没有.

powerpoint hyperlink powerpoint-vba

6
推荐指数
1
解决办法
1万
查看次数

使用Master通过自定义布局在VBA for PowerPoint 2010中创建新幻灯片

我有以下VBA代码来创建一个新的PowerPoint幻灯片:

longSlideCount = ActivePresentation.Slides.Count

With ActivePresentation.Slides
    Set slideObject = .Add(longSlideCount + 1, ppLayoutTitle)
End With
Run Code Online (Sandbox Code Playgroud)

...插入'ppLayoutTitle'类型的新幻灯片,但我想知道是否可以在'幻灯片母版视图'中创建自定义布局,然后将该特定幻灯片模板插入到演示文稿中?

提前致谢!!!

powerpoint vba powerpoint-vba powerpoint-2010

6
推荐指数
1
解决办法
2万
查看次数

使用VBA更改Office功能区中元素的属性

我是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,改变的数值lblUsernamelblFullname.目前,必须在此按钮的上一次调用之后完成此操作:

<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表单并从用户获取用户名和密码.验证用户名和密码后,一切顺利,但我不确定获取控件属性lblUsernamelblFullname使用登录用户的详细信息更改其值的过程是什么.


澄清

SignIn表单中,我有以下代码的Sign In按钮.

Private Sub btnSignIn_Click()
    ' Authentication Mechanism
    MsgBox "You have successfully signed in!"

    ' …
Run Code Online (Sandbox Code Playgroud)

powerpoint vba powerpoint-vba powerpoint-2007

6
推荐指数
1
解决办法
1662
查看次数

如何不为PPT中的隐藏幻灯片计算页码?

在演示模式下,我只希望未隐藏的幻灯片以连续的页码显示。如何避免计算隐藏的幻灯片?

powerpoint powerpoint-vba powerpoint-2013

6
推荐指数
1
解决办法
1万
查看次数

通过PowerPoint自动化Excel - 本地窗口不暴露完整的对象模型(即Linksources)

背景

我正在运行代码(来自PowerPoint):

  • 循环播放演示文稿中的每张幻灯片.
  • 检查每个形状以确定它是否是图表.
  • 如果是图表,请激活基础Excel工作表,然后将此基础文件中的链接更改为新源.

我注意到excel的链接在整个PPT级别[via Info]中不存在,它们被故意链接到每个图表,以便可以在不访问源excel文件的情况下编辑演示文稿.

代码适用 - 广义上.

有一个持续的错误(代码运行正常),我认为是网络和内存稳定性(大约15个图表后失败),我希望关闭screenupdating按照关闭powerpoint的屏幕更新.

我访问的所有图表都链接到其他工作簿.然而,当Excel工作簿暴露给PowerPoint时,即使代码处理每个链接,链接也不会显示在Locals窗口中(下图显示链接存在)

我翻转了自动化以从Excel访问PowerPoint包,结果相同.没有Linksources.

在使用Excel自动化PowerPoint时,为什么在" 本地"窗口中也不能使用完整对象模型?

这是一个我偶然发现的局部故障,还是一个更广泛的问题?

下图显示了迭代链接的代码(ppl变量,但xlWB变量没有Linksources).

在此输入图像描述

Sub FastUpdate()

    Dim sld As Slide
    Dim shp As Shape
    Dim pptchrt As Chart
    Dim pptChrtData As ChartData

    Dim xlWB As Excel.Workbook
    Dim lngStart As Long
    Dim strNew As String
    Dim strMsg As String

    Dim ppl As Variant

    On Error GoTo cleanup …
Run Code Online (Sandbox Code Playgroud)

excel powerpoint vba excel-vba powerpoint-vba

6
推荐指数
1
解决办法
143
查看次数

VBA中引用/指针的一个很好的替代品?

你能推荐我在VBA中作为参考或指针类型的一个很好的替代品吗?我一直在努力与这样的表达:

dblMyArray( i * lngDimension0 + j * lngDimension1 + k * lngDimension2, l * lngDimension3 + m * lngDimension4 ) = dblMyArray( i * lngDimension0 + j * lngDimension1 + k * lngDimension2, l * lngDimension3 + m * lngDimension4 ) + 1
Run Code Online (Sandbox Code Playgroud)

如果我想在例如C++中的多维数组中累积值,我可以这样写:

double& rElement = dblMyArray[ i * lngDimension0 + j * lngDimension1 + k * lngDimension2 ][ l * lngDimension3 + m * lngDimension4 ];
rElement += 1;
Run Code Online (Sandbox Code Playgroud)

要么

double* pElement = &dblMyArray[ i * lngDimension0 …
Run Code Online (Sandbox Code Playgroud)

vba excel-vba access-vba word-vba powerpoint-vba

6
推荐指数
2
解决办法
5569
查看次数

按ID或名称获取形状

如果你知道它有没有办法获得一个形状Id

例如:

Dim myshape As Shape
myshape.Id = 42
myshape = getShapeById(myshape.Id)
Run Code Online (Sandbox Code Playgroud)

或者,或者,我可以通过Name

Dim myshape As Shape
myshape.Name = "Rectangle 42"
myshape = getShapeByName(myshape.Name)
Run Code Online (Sandbox Code Playgroud)

powerpoint vba powerpoint-vba

5
推荐指数
2
解决办法
7万
查看次数