Извлечение изображения из MindManagerMap в Word с использованием VBA - PullRequest
0 голосов
/ 23 апреля 2019

Я должен извлечь изображения из карты диспетчера разума с помощью VBA и поместить их в текстовый документ, а не в случайном порядке, он должен быть таким же, как карта разума. к сожалению, я не могу предоставить MindMap по причинам компании.

это моя первая успешная попытка получить изображения. извлекать и вставлять текст просто, «ExportTopic (TopicName)», это позволит получить всю тему, но без изображений. Я пробовал ExportImages, но его не существует

Параметр Явный

'####Globale Konstanten/Variablen####
Const DOC_Name As String = "MJWX-Protokollformular.docx" '####Hier Dateiname von vorlage####
Dim Word_Program As Word.Application, Word_Dokument As Word.Document
Dim Word_Paragraph As Word.Paragraph
Dim TopCount As Integer
Dim MM_Program As MindManager.Application
Dim MM_Dokument As MindManager.Document

Sub Main

Dim i As Integer
Dim Zahl, ImageSize As Integer
Dim MM_Bild As MindManager.Topic
Dim MM_Layer0 , MM_Layer1 , MM_Layer2 , MM_Layer3 , MM_Layer4 As 
MindManager.Topic
Dim BildOrt As String

BildOrt = MM_Dokument.Path & "\Bilder\"
Zahl = 0
ImageSize = 100

For Each MM_Layer0 In MM_Dokument.CentralTopic.SubTopics
For Each MM_Bild In MM_Layer0.SubTopics
    If MM_Bild.HasImage Then
        MM_Bild.Image.SaveWithSize(BildOrt & Zahl & ".png", mmGraphicTypePng, ImageSize, ImageSize)
        Zahl = Zahl + 1
    End If
Next MM_Bild
For Each MM_Layer1 In MM_Layer0.SubTopics
    For Each MM_Bild In MM_Layer1.SubTopics
        If MM_Bild.HasImage Then
            MM_Bild.Image.SaveWithSize(BildOrt & Zahl & ".png", mmGraphicTypePng, ImageSize,ImageSize)
            Zahl = Zahl + 1
        End If
    Next MM_Bild
    For Each MM_Layer2 In MM_Layer1.SubTopics
        For Each MM_Bild In MM_Layer2.SubTopics
            If MM_Bild.HasImage Then
                MM_Bild.Image.SaveWithSize(BildOrt & Zahl & ".png", mmGraphicTypePng, ImageSize,ImageSize)
                Zahl = Zahl + 1
            End If
        Next MM_Bild
        For Each MM_Layer3 In MM_Layer2.SubTopics
            For Each MM_Bild In MM_Layer3.SubTopics
                If MM_Bild.HasImage Then
                    MM_Bild.Image.SaveWithSize(BildOrt & Zahl & ".png", mmGraphicTypePng, ImageSize,ImageSize)
                    Zahl = Zahl + 1
                End If
            Next MM_Bild
            For Each MM_Layer4 In MM_Layer3.SubTopics
                For Each MM_Bild In MM_Layer4.SubTopics
                    If MM_Bild.HasImage Then
                        MM_Bild.Image.SaveWithSize(BildOrt & Zahl & ".png", mmGraphicTypePng, ImageSize,ImageSize)
                        Zahl = Zahl + 1
                    End If
                Next MM_Bild
            Next MM_Layer4
        Next MM_Layer3
    Next MM_Layer2
Next MM_Layer1
Next MM_Layer0

текущий результат - изображения, извлекаемые в папку, после чего они вставляются в текстовый документ. есть ли более эффективный способ сделать это, так как для поиска изображений нужно пройти всего 4 ветви?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...