PowerPoint 2013 сохранить как изображение

#.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)