Functionen einer Form in Word exportieren
Hallo Forumgemeinde,
ich würde gerne zur Dokumentation meines Programmes alle Funktionen und Subs einer Form in Worddateien packen. Ich hatte mir das so vorgestellt das ich für jede Form oder jedes Objekt einen Ordner anlege und dann jede Sub/funktion einzeln als Worddatei darin ablege. Ich könnte das zwar alles per Hand machen, aber das würde ewig dauern. Gibt es eine Möglichkeit dies über einen Automatismus zu realisieren??? Sehr schön wäre auch wenn gleich die Formatierung des Textes übernommen wird.
Ich arbeite mit Visual Studio 2008 und habe Word 2007.
Mit freundlichsten Grüßen
ich würde gerne zur Dokumentation meines Programmes alle Funktionen und Subs einer Form in Worddateien packen. Ich hatte mir das so vorgestellt das ich für jede Form oder jedes Objekt einen Ordner anlege und dann jede Sub/funktion einzeln als Worddatei darin ablege. Ich könnte das zwar alles per Hand machen, aber das würde ewig dauern. Gibt es eine Möglichkeit dies über einen Automatismus zu realisieren??? Sehr schön wäre auch wenn gleich die Formatierung des Textes übernommen wird.
Ich arbeite mit Visual Studio 2008 und habe Word 2007.
Mit freundlichsten Grüßen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 165273
Url: https://administrator.de/forum/functionen-einer-form-in-word-exportieren-165273.html
Ausgedruckt am: 23.12.2024 um 06:12 Uhr
7 Kommentare
Neuester Kommentar
Hallo,
ich habs zwar noch nicht ganz geschafft, aber schau mal das an:
Das gibt dir jede Sub oder Function aus, jedoch weiss ich noch nicht, wie ich den Text mit Format kopieren kann.
Mathe172
ich habs zwar noch nicht ganz geschafft, aber schau mal das an:
'Das als Makro in ein Dokument, den Code der Klasse/Form ins Dokument selbst kopieren
Sub Aufteilen()
Dim SubOderFunction As String
Dim InSubOderFunction As Boolean
For Each Absatz In ActiveDocument.Paragraphs
Dim Zeile As String
Zeile = Left(Absatz, Len(Absatz) - 1)
Dim Wörter() As String
Wörter = Split(Zeile, " ")
If IsInArray(Wörter, "Sub") Then
If Replace(Zeile, " ", "") = "EndSub" Then
SubOderFunction = SubOderFunction & Zeile
MsgBox SubOderFunction
SubOderFunction = ""
InSubOderFunction = False
Else
InSubOderFunction = True
End If
ElseIf IsInArray(Wörter, "Sub") Then
If Replace(Zeile, " ", "") = "EndFunction" Then
SubOderFunction = SubOderFunction & Zeile
MsgBox SubOderFunction
SubOderFunction = ""
InSubOderFunction = False
Else
InSubOderFunction = True
End If
End If
If InSubOderFunction Then SubOderFunction = SubOderFunction & Absatz
Next
End Sub
Function IsInArray(ByRef ZuPrüfendeArray() As String, SuchString As String)
IsInArray = False
For Each Element In ZuPrüfendeArray
If Element = SuchString Then
IsInArray = True
Exit Function
End If
Next
End Function
Mathe172
moin Erik87,
Das oben als Object verwendete ActiveDocument ist auch nur ein Property.
Das hat gerade mal einen ActiveDocument.Name und das war es schon fast.
Die Paragraphs wiederum sind Child-Objects von drei möglichen Object-Typen: von Document, Range oder Selection.
Grüße
Biber
Zitat von @erik87:
Es erscheint jedoch die Fehlermeldung: "Der öffentliche Member Paragraphs für den Typ Document wurde nicht gefunden."
Es erscheint jedoch die Fehlermeldung: "Der öffentliche Member Paragraphs für den Typ Document wurde nicht gefunden."
Das oben als Object verwendete ActiveDocument ist auch nur ein Property.
Das hat gerade mal einen ActiveDocument.Name und das war es schon fast.
Die Paragraphs wiederum sind Child-Objects von drei möglichen Object-Typen: von Document, Range oder Selection.
Dim rngAlles As Range
' Mach also einfach zu Beginn des Subs, _falls_ denn überhaupt
' mehrere Word-Dokumente offen sein können, ein
Documents("DeineWorddatei.doc").Activate
Set rngAlles = ActiveDocument.Range(Start:=0, End:=0)
For Each Absatz In rngAlles.Paragraphs
....
Grüße
Biber