#.net #ms-office #powerpoint
#.net #ms-office #powerpoint
Вопрос:
Я хочу имитировать щелчок правой кнопкой мыши сохранить как изображение в VB.NET для PowerPoint 2013,
метод shape.export у меня не работает, я думаю, что это работало в старых версиях office,
есть какой-нибудь намек?
Комментарии:
1. «не работает» охватывает много вопросов. Если вы хотите увеличить шансы на получение помощи, опубликуйте код, который не работает, точно укажите, где происходит сбой, и процитируйте любые сообщения об ошибках, которые вы видите.
2. метод экспорта не является членом в классе PowerPoint.shape
3. Оно скрыто. Он доступен в VBA, если вы выберете Показывать скрытые элементы в обозревателе объектов IDE. Возможно VB.NET имеет нечто подобное.
4. Я так не думаю @SteveRindsberg, после некоторых исследований я думаю, что моей лучшей попыткой будет переименовать файл .pptx в .zip, а затем получить файлы изображений из папки media, но вопрос в том, отсортированы ли они в одинаковой последовательности или как я могу связать их с последовательностью презентации??
5. Если вам нужны изображения, которые были вставлены в PPT, разархивирование приведет вас туда, но если вы хотите экспортировать КАКУЮ-ЛИБО фигуру или фигуры в виде изображений, разархивирование не поможет. Я не помню сразу, как называются изображения в PPTX / ZIP, но, насколько я помню, это было не слишком сложно выяснить.
Ответ №1:
Скопируйте и переименуйте файл pptx
Dim file As String = "..........Text_Boxes_Set_1.pptx"
Dim copy As String = "......test1copy.zip"
If System.IO.File.Exists(file) = True Then
System.IO.File.Copy(file, copy)
MsgBox("file,coppied")
End If
Извлечь zip-файл
Dim sc As New Shell32.Shell()
'Create directory in which you will unzip your files .
IO.Directory.CreateDirectory(".....")
'Declare the folder where the files will be extracted
Dim output As Shell32.Folder = sc.NameSpace(".....")
'Declare your input zip file as folder .
Dim input As Shell32.Folder = sc.NameSpace("........test1copy.zip")
'Extract the files from the zip file using the CopyHere command .
output.CopyHere(input.Items, 4)
Извлеките файлы изображений из извлеченных папок
My.Computer.FileSystem.CopyDirectory("......pptmedia", ".....testimages1", True)