在没有CustomUI Elements或VBA宏的情况下将PPTM保存为PPTX

时间:2016-02-01 17:23:15

标签: vba powerpoint powerpoint-vba powerpoint-2013

我有一个Macro Enabled PowerPoint文档(PPTM),我想将功能添加到“导出”到非启用宏的文档(PPTX)。我编写了以下VBA代码来完成此任务:

'Default selected file type PPTX
Dim selected As String: selected = Application.FileDialog(msoFileDialogSaveAs).Show()
Dim filePath As String

If selected <> 0 Then
    filePath = Application.FileDialog(msoFileDialogSaveAs).SelectedItems(1)
    ActivePresentation.SaveCopyAs fileName:=filePath, FileFormat:=ppSaveAsOpenXMLPresentation
End If

这可以正常工作并保存文档而不需要任何相关的VBA代码,但是我在源PPTM文件中包含了一个我想删除的customUI菜单,因为功能区选项卡链接到各种VBA功能我删除了。

如果没有附带的CustomUI菜单,如何保存到PPTX?有没有办法用VBA“删除”CustomUI菜单(实际上看起来不像它,至少在Excel https://uva.onlinejudge.org/external/116/11615.pdf中),或者可以隐藏而不用放置VBA方法调用使用CustomUI的加载事件(例如此Hide/Show)?

2 个答案:

答案 0 :(得分:2)

理论上应该可以将pptm保存为pptx文件(删除VBA代码),关闭它,重命名.zip,从zip中删除customUI文件夹(包含customUI.xml),然后重命名回到.pptx

我手动尝试了它并且有效。

Ron de Bruin在此处提供了一些VBA邮政编码示例:http://www.rondebruin.nl/win/s7/win001.htm

答案 1 :(得分:0)

我在这个问题上也遇到了困难。我找到了解决办法

import nltk
import csv
from nltk.tokenize import PunktSentenceTokenizer

f=open("CA Civil MTBE Vol 1.txt",'r')
f1=open("CA Civil MTBE Vol 2.txt",'r')
train_text = csv.reader(f)
sample_text =csv.reader(f1)

custom_sent_tokenizer = PunktSentenceTokenizer(train_text)
print(custom_sent_tokenizer)
sample_text

tokenized = custom_sent_tokenizer.tokenize(sample_text)

有一个cmd调用7-zip,用于从目标文件中删除文件夹“ customUI”,如果成功,则从cmd退出