Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Functionen einer Form in Word exportieren

Frage Entwicklung VB for Applications

Mitglied: erik87

erik87 (Level 1) - Jetzt verbinden

27.04.2011 um 19:28 Uhr, 2784 Aufrufe, 7 Kommentare

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
Mitglied: mathe172
27.04.2011 um 22:40 Uhr
Hallo,

hast du dir mal überlegt, was mit den Variablen passieren soll, die in der Form-Klasse definiert sind und in den Funktionen benutzt werden?

Mathe172
PS.:Das mit den Formatierungen könnte schwierig werden...
Bitte warten ..
Mitglied: erik87
27.04.2011 um 23:15 Uhr
Hallo,


zum einen soll das Komplette Klassenmodul natürlich auch in eine extra Worddatei. Die Nachbereitung mit den Publics und Strukturen wird kein großer Aufwand, im gegensatz zum Anlegen der einzelnen Dateien. Die Formatierung könnte ich mir per Word-Makro zur not alleine basteln. Viel wichtiger finde ich das "exportieren" in die einzelnen Ordner.


Mfg.
Bitte warten ..
Mitglied: mathe172
28.04.2011 um 16:57 Uhr
Hallo,

ich habs zwar noch nicht ganz geschafft, aber schau mal das an:

01.
'Das als Makro in ein Dokument, den Code der Klasse/Form ins Dokument selbst kopieren 
02.
Sub Aufteilen() 
03.
Dim SubOderFunction As String 
04.
Dim InSubOderFunction As Boolean 
05.
    For Each Absatz In ActiveDocument.Paragraphs 
06.
    Dim Zeile As String 
07.
    Zeile = Left(Absatz, Len(Absatz) - 1) 
08.
    Dim Wörter() As String 
09.
    Wörter = Split(Zeile, " ") 
10.
        If IsInArray(Wörter, "Sub") Then 
11.
            If Replace(Zeile, " ", "") = "EndSub" Then 
12.
                SubOderFunction = SubOderFunction & Zeile 
13.
                MsgBox SubOderFunction 
14.
                SubOderFunction = "" 
15.
                InSubOderFunction = False 
16.
                Else 
17.
                InSubOderFunction = True 
18.
            End If 
19.
            ElseIf IsInArray(Wörter, "Sub") Then 
20.
            If Replace(Zeile, " ", "") = "EndFunction" Then 
21.
                SubOderFunction = SubOderFunction & Zeile 
22.
                MsgBox SubOderFunction 
23.
                SubOderFunction = "" 
24.
                InSubOderFunction = False 
25.
                Else 
26.
                InSubOderFunction = True 
27.
            End If 
28.
        End If 
29.
    If InSubOderFunction Then SubOderFunction = SubOderFunction & Absatz 
30.
    Next 
31.
End Sub 
32.
Function IsInArray(ByRef ZuPrüfendeArray() As String, SuchString As String) 
33.
    IsInArray = False 
34.
    For Each Element In ZuPrüfendeArray 
35.
        If Element = SuchString Then 
36.
            IsInArray = True 
37.
            Exit Function 
38.
        End If 
39.
    Next 
40.
End Function
Das gibt dir jede Sub oder Function aus, jedoch weiss ich noch nicht, wie ich den Text mit Format kopieren kann.

Mathe172
Bitte warten ..
Mitglied: erik87
28.04.2011 um 19:22 Uhr
Hi,

also erstmal danke für deine Hilfe. Es erscheint jedoch die Fehlermeldung: "Der öffentliche Member Paragraphs für den Typ Document wurde nicht gefunden."

Aber im Prinzip weiß ich jetzt wie ich es machen kann. Eigentlich nur den kompletten Text in nen Array und dann mit "function" oder "Sub" aufsplitten.

Ich werde mir also die Mühe machen und die Kompletten Klassen per Hand in eine Word packen und dann über ein Wordmakro das ganze aufteilen. Hat den Vorteil das der Text gleich Formatiert ist.

Aber Danke für den Denkanstoß. Meistens ist die einfachste Lösung halt doch die beste :D
Bitte warten ..
Mitglied: Biber
28.04.2011 um 20:37 Uhr
moin Erik87,

Zitat von erik87:
..... 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
Bitte warten ..
Mitglied: erik87
28.04.2011 um 20:44 Uhr
Hallöle Biber,

anscheinend war der Fehler das ich den Code in den VisualStudio08-Makroeditor kopiert habe. :D Da ja mein Anliegen einer "Export-Funktion" direkt aus dem VisualStudio galt. Im Word bekomme ich den Makro alleine hin. Vielen vielen Dank trotzdem


Mfg.
Bitte warten ..
Mitglied: Biber
28.04.2011 um 20:46 Uhr
*lach*

Wie du schon so treffend schriebst:
Meistens ist die einfachste Lösung halt doch die beste...
Auf diese einfache Wurzel des Übels bin ich in der Tat nicht gekommen... *gg

Dann lass uns da bitte einen Haken dran machen.

Grüße
Biber
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(1)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Microsoft Office
gelöst Standard Ansicht Word Navigationsleiste (9)

Frage von leofabian zum Thema Microsoft Office ...

Basic
gelöst Mit vb.net PDF in Word-Dok einfügen (10)

Frage von ahstax zum Thema Basic ...

Microsoft Office
Word doc kann nicht geöffnet werden abe nach umbenennung zu docx (3)

Frage von henschel87 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (41)

Frage von Winuser zum Thema Hyper-V ...

Linux Netzwerk
gelöst DHCP vergibt keine Adressen (30)

Frage von Maik82 zum Thema Linux Netzwerk ...

Exchange Server
gelöst Bestehende eMails autoamatisch weiterleiten (22)

Frage von metal-shot zum Thema Exchange Server ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...