我正在创建一个PowerPoint插件的项目。这个概念是只包含一个用户表单和一个列表框。根据用户选择,其他模块(bas文件)将被添加或导入到演示文稿中,并且代码将被执行。将代码导入或添加到动态加载项
我不想将所有模块包含在添加中,这取决于需求我可以进行修改,然后可以存储在共享文件夹中。所以每次用户使用插件时,他们都可以拥有更新的版本。所以我不必在每次更改时重新加载插件。
我有一个空白模块,我从一个文本文件(保存为文本的bas文件中的代码)导入代码并运行。
我可以导入bas文件,也可以使用inserFrom文件选项我可以从文本文件导入代码,但问题是它总是被添加到当前的表示代码窗口中。但是我想将代码添加到插件代码窗格中。
我有一个名为“tempCode”的插件中的空白模块,我想更新导入的代码,但我无法这样做。
当我编辑插件作为ppt时,它工作正常,但是当我将ppt转换为插件时,该概念不起作用。
任何想法如何将代码添加到插件代码窗格而不是添加到活动的ppt。
代码细节:
我有一个用户的形式,用一个列表框。 它有3个项目。 选项1 选项2 选项3 如果用户选择任何选项,比如选项2,选项2的代码将从文本文件导入到工作模块。
和一个命令按钮来运行选定的。
工作模块的名称是“Mod_Working” 文本文件的名称是“C:\代码\ Option2.txt”
下面是我使用的代码:
Sub ImportSelected()
With ActivePresentation.VBProject.VBComponents(“Mod_Working”).CodeModule
.DeleteLines 1, .CountOfLines 'it deletes any existing code
.AddFromFile “C:\Code\Option2.txt”
End With
End Sub
Code in text file:
Sub Test
Msgbox “You selected Opt 2”
End sub
Code of Command Button:
Private Sub Cmd_run_Click()
Application.Run “Mod_Working.Test”
End Sub
此作品在PPT模式,但不能转换为插件时使用。
如果您显示您现有的代码,建议更改会更容易。但是,将加载项作为“存根”,然后从共享文件夹加载“真实”加载项可能更容易。这样它将始终保持最新状态,并且您还可以管理您可能创建的功能区项目的更改。 (确保将文件夹中的共享加载项标记为“只读”) –
您是否已将注册表项设置为在Project Explorer中显示PowerPoint加载项? – ThunderFrame
我正在使用的代码: Sub ImportSelected() With ActivePresentation.VBProject.VBComponents(“Mod_Working”)。CodeModule .DeleteLines 1,.CountOfLines“它删除任何现有代码 .AddFromFile‘C:\代码\ Option2.txt’ 尾随着 结束小组 码文本文件: 次测试 MSGBOX“您选择了选项2 ” 结束子 代码命令按钮: 私人小组Cmd_run_Click() Application.Run‘Mod_Working.Test’ 结束子 这个工作在PPT模式,但不是当转换成插件。蒂姆,你可以请解释存根概念位更多。 此外,我没有访问注册表,因为它是我的办公系统 –