MS Word Makro: Kann nicht öffnen

Sherman123

Fleet Admiral
Registriert
Nov. 2002
Beiträge
12.341
Hallo zusammen,

ich habe vor ein paar Monate ein kleines "dummes" Makro in MS Word geschrieben.
Ich würde nun gerne den Code nochmals auslesen. Allerdings kann ich mir diesen im Editor nicht mehr anzeigen lassen.
Kann mir hier jemand weiterhelfen? Anbei die Datei.

PS: Hier steckt 100% kein Virus drin. Das Makro hat ~20 Zeilen und wurde von mir selbst verbrochen.

Danke.
 
Zuletzt bearbeitet:
Code:
Rem Attribute VBA_ModuleType=VBADocumentModule
Option VBASupport 1
Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
    'MsgBox "Aufruf 1"
    Unterauswahl
End Sub

Sub Unterauswahl()
    Dim dropdown1 As ContentControl
    Dim dropdown2 As ContentControl
    Dim options() As String
    Dim selectedOption As String
    Dim i As Integer
    'MsgBox "Aufruf 2"
    
    Set dropdown1 = ActiveDocument.SelectContentControlsByTitle("MainCategory").Item(1)
    Set dropdown2 = ActiveDocument.SelectContentControlsByTitle("SubCategory").Item(1)

'Auslesen der getroffen Auswahl in der MainCategor
    selectedOption = dropdown1.Range.Text
    'MsgBox selectedOption
 
 'Logik-Verknüpfung; funktioniert (evt. mit Array arbeiten, für Optionen mit Beistrichen im Anzeigetext (z.B.: Mixing, Dosing Chemicals & Thickening))
    If selectedOption = "Woodyard" Then
        options = Split("Select Subcategory, General Safety, Wood Delivery & Acceptance, Debarking, Chipping, Storage, Screening, Other", ",")
    ElseIf selectedOption = "Fibre Production" Then
        options = Split("Select Subcategory, General Safety, Digesting, Washing & Screening, Bleaching, Other", ",")
    ElseIf selectedOption = "Chemicals Preparation" Then
        options = Split("Select Subcategory, General Safety, Chemicals Preparation, Other", ",")
    ElseIf selectedOption = "Recovery" Then
        options = Split("Select Subcategory, General Safety, Evaporation Plant, Recovery Boiler, Caustification, Lime Kiln, CNGG Boilers, Tall Oil Plant, Other", ",")
    ElseIf selectedOption = "Pulp Drying Machine" Then
        options = Split("Select Subcategory, General Safety, Screening & Cleaning, Pulp Dewatering, Pulp Sheet Drying, Baling, Other", ",")
    ElseIf selectedOption = "Pulp Preparation" Then
        options = Split("Select Subcategory, General Safety, Pulping, Refining, Mixing & Dosing Chemicals & Thickening, Fibre Cleaning & Screening, Reject Handling, Other", ",")
    ElseIf selectedOption = "Paper Machine" Then
        options = Split("Select Subcategory, General Safety, Stock Preparation, Approach Flow System, Broke Handling System, Vacuum System, Chemicals, Additives, Starch, Wire Section, Press Section, Drying Section, Calander & Sizer & Clupak, Pope Reeler, Winder, Other", ",")
    ElseIf selectedOption = "Paper Finishing" Then
        options = Split("Select Subcategory, General Safety, Cutsize Finishing Line, Folio Finishing Line, Logistics & Packaging & Loading, Other", ",")
    ElseIf selectedOption = "Power Generation" Then
        options = Split("Select Subcategory, General Safety, HP Boiler, LP Boiler / steampacks, Steam Turbines & Generators, Electrical Generators, Gas Turbines, Other", ",")
    ElseIf selectedOption = "Utilities" Then
        options = Split("Select Subcategory, General Safety, Compressed Air System, Water Preparation Plant, Waster Water Treatment Plant, Cooling System Tower, PCC Kiln, Other", ",")
    ElseIf selectedOption = "Other Assets" Then
        options = Split("Select Subcategory, General Safety, Buildings, Other", ",")
    Else
        options = Split("Select Main Category first", ",")
    End If
    
    
    ' Löschen Dropdown2
    For i = dropdown2.DropdownListEntries.Count To 1 Step -1
        dropdown2.DropdownListEntries(i).Delete
    Next i
    
    'überschreiben der Liste
    For i = LBound(options) To UBound(options)
        dropdown2.DropdownListEntries.Add Text:=options(i)
    Next i
End Sub

Hf :schluck:
 
Danke dir für die Lösung.

@tollertyp
Ehrlich gesagt, weiß ich das auch nicht, aber ich gehe davon aus, dass das Problem vor dem Bildschirm sitzt.:pcangry:
Das Makro funktioniert nach wie vor und andere Makros kann ich auch normal öffnen. Bei diesem Makro sieht die Sache bei mir so aus:

Wenn du eine Idee hast, bitte nur raus damit. :D
 

Anhänge

  • kein Bearbeiten möglich.png
    kein Bearbeiten möglich.png
    7,4 KB · Aufrufe: 75
  • Projekt kann nicht angezeigt werden.png
    Projekt kann nicht angezeigt werden.png
    16,1 KB · Aufrufe: 63
  • Gefällt mir
Reaktionen: tollertyp
Okay, also mir war nicht ganz klar, dass du in den Editor kommst nur nicht dort hin. Ungewöhnlich :-)
 
Die modernen Office-Formate sind alles eigentlich nur Zip-Dateien (einfach mal die .docm in .zip ändern). Während die meisten Inhalte darin in Form von XML-Daten vorliegen, wird VBA -warum auch immer- binär gespeichert. Ich nehme an, dass dort irgendein Bit geflippt ist und deswegen der Parser aussteigt.

Ich habe das Makro mit LibreOffice geöffnet.
 
Kannst Du im Editor, ohne das Makro geöffnet zu haben, das Makro exportieren?
Funktioniert das exportieren?
Die exportierte Datei kannst Du dann im Texteditor öffnen.
ggf. findet sich da dann der Fehler (kryptische Zeichen)
Wenn ja kannst Du das in einem neuen Dokument importieren.

1722439431701.png
 
Zurück
Oben