Ich bin dabei ein Word 2007 Makro zu erstellen, das eine Zelle aus einer Excel-Tabelle ausliest (reinen Text nur), diesen Text dann mit Suchen/Ersetzen durch einen bestimmten Word-Text laufen lässt, und das geänderte Word-Dok dann unter anderen Namen wieder speichert, wobei der neue Dateiname aus einem immer gleichen Teil besteht, der durch den Text der Excel-Tabelle, der zuvor auch bei Suchen/Ersetzen verwendet wurde, verlängert wird. Gespeichert wird in Word 97 Format (doc).
Hier ist der Entwurf:
Sub TestMakro()
'
'
'Schritt 1: Excel Zelle auslesen - Nur den reinen Text!
'
Dim Mappe As Object
Set Mappe = CreateObject("Excel.Application")
'
' Excel-Mappe mit Daten öffnen
Mappe.Workbooks.Open "C:\Users\Test\Documents\bsp.xls"
'
' Blatt und Daten mit Range auswählen
Mappe.Sheets("Sheet1").Range("A1").Select
Mappe.Selection.Copy
'
' Excel-Instanz schließen
Mappe.Quit
'
'
'
'Schritt 2: Variable mit Excel Zelleninhalt (nur reiner Text) anlegen (funktioniert so nicht)
'
Dim MyData As Object
Dim strText As String
'
'Hier gibt es ein PROBLEM:
MyData.GetFromClipboard
strText = MyData.GetText
'
'
'
'Schritt 3: Word Dokument öffnen
'
Documents.Open "C:\Users\Test\Documents\test.doc"
'
'
'
Schritt 4: Suchen und ersetzen - Text "5234" muss gegen die Variable ersetzt werden
'
With Selection.Find
.Text = "5234"
.Replacement.Text = "HIER MUSS DIE VARIABLE STEHEN"
.Wrap = wdFindContinue
End With
Selection.Find.Execute Replace:=wdReplaceAll
'
'
'
'Schritt 5: Dokumentschutz mit Passwort
'
ActiveDocument.Protect Type:=wdAllowOnlyFormFields, _
NoReset:=True, Password:="password"
'
'
'
'Schritt 6: Dokument unterneune Namen speichern - Word 97 doc format
' Der Name muss bestehen aus einem immer gleichen String verlängert durch die Variable
'
ActiveDocument.SaveAs FileName:="Name Variable.doc", _
FileFormat:=wdFormatDocument97
'
'
'
'Schritt 7: Dokument schliessen - ohne zu speichern
'
ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
'
'
End Sub
Beim Schritt 2 komme ich leider nicht weiter: Wie bekomme ich den Excel-Zelleninhalt als reinen Text in eine Variable, um diese für Suchen/Ersetzen und zur Datei-Namen-Generierung wieder verwenden zu können?
Es wäre toll, wenn jemand eine Idee hat.
|