03.07.2019, 22:24
Hallo liebes Forum,
ich bin relativ neu in der VBA Welt und kämpfe leider gerade mit einer Aufgabe, die ich bis morgen Nachmittag erledigt haben muss, jedoch nicht weiterkomme.
Ich schildere euch kurz was ich machen muss und an welcher Stelle ich scheitere.
Ich habe ein Word Template erhalten, in dem ich 3 Felder aktualisieren muss. Die dazugehörigen Daten liegen vor.
In dem Template gibt es zwei Texte die "userxx" und "pwxx" heißen. Mir liegt zusätzlich eine Excel Tabelle vor, in denen jeweils Usernamen und die dazugehörigen Passwörter eingetragen sind. Ebenfalls gibt es noch einen Link in dem beides drinsteht, der einen QR-Code generiert den man als Bild einsetzen kann. Ich soll jetzt:
1. User aus Excel Tabelle kopieren
2. Das dazugehörige Passwort aus Excel Tabelle kopieren
3. Im Word Template "userxx" durch den User in Schritt 1 ersetzen
4. Im Word Template "pwxx" durch das Passwort in Schritt 2 ersetzen
5. Im Word Template den QR-Code aus dem Link einfügen
6. Das Word Dokument mit individuellem Namen (User aus Schritt 1) speichern.
Der Code den ich bereits geschrieben habe sieht wie folgt aus:
Sub replaceUserPW()
Dim wdApp As Word.Application
Dim wdDoc As Word.Document
Dim templatepath As String
Set templatepath = "...\vorlage_pw.docm"
Dim exlApp As Excel.Application
Dim exlDoc As Excel.Document
Dim datapath As String
Set datapath = "...\data.xlsm"
'Get word instance or create
On Error Resume Next
Set wdApp = GetObject(, "Word.Application")
If Err.Number <> 0 Then
Set wdApp = CreateObject("Word.Application")
End If
On Error GoTo 0
' Set the template
Set wdDoc = wdApp.Documents.Open(templatepath, AddToRecentFiles = False)
wdApp.Visible = True
Set exlDoc = exlApp.Documents.Open(datapath)
exlApp.Visible = True
Dim i As Integer
For i = 1 To 40
With ActiveDocument.Range.Find
.Text = "userxx"
.Replacement.Text = i + 1
.Text = "pwxx"
.Replacement.Text = exlDoc.Cell(3, i)
End With
ActiveDocument.SaveAs2 i, ".doc"
Next
End Sub
Wie ich den QR-Code aus dem Link als Bild einfügen kann ist mir sowieso ein Rätsel, der Rest haut aber gar nicht hin!
Ich hoffe ihr könnt mir helfen.
Viele Grüße
ich bin relativ neu in der VBA Welt und kämpfe leider gerade mit einer Aufgabe, die ich bis morgen Nachmittag erledigt haben muss, jedoch nicht weiterkomme.
Ich schildere euch kurz was ich machen muss und an welcher Stelle ich scheitere.
Ich habe ein Word Template erhalten, in dem ich 3 Felder aktualisieren muss. Die dazugehörigen Daten liegen vor.
In dem Template gibt es zwei Texte die "userxx" und "pwxx" heißen. Mir liegt zusätzlich eine Excel Tabelle vor, in denen jeweils Usernamen und die dazugehörigen Passwörter eingetragen sind. Ebenfalls gibt es noch einen Link in dem beides drinsteht, der einen QR-Code generiert den man als Bild einsetzen kann. Ich soll jetzt:
1. User aus Excel Tabelle kopieren
2. Das dazugehörige Passwort aus Excel Tabelle kopieren
3. Im Word Template "userxx" durch den User in Schritt 1 ersetzen
4. Im Word Template "pwxx" durch das Passwort in Schritt 2 ersetzen
5. Im Word Template den QR-Code aus dem Link einfügen
6. Das Word Dokument mit individuellem Namen (User aus Schritt 1) speichern.
Der Code den ich bereits geschrieben habe sieht wie folgt aus:
Sub replaceUserPW()
Dim wdApp As Word.Application
Dim wdDoc As Word.Document
Dim templatepath As String
Set templatepath = "...\vorlage_pw.docm"
Dim exlApp As Excel.Application
Dim exlDoc As Excel.Document
Dim datapath As String
Set datapath = "...\data.xlsm"
'Get word instance or create
On Error Resume Next
Set wdApp = GetObject(, "Word.Application")
If Err.Number <> 0 Then
Set wdApp = CreateObject("Word.Application")
End If
On Error GoTo 0
' Set the template
Set wdDoc = wdApp.Documents.Open(templatepath, AddToRecentFiles = False)
wdApp.Visible = True
Set exlDoc = exlApp.Documents.Open(datapath)
exlApp.Visible = True
Dim i As Integer
For i = 1 To 40
With ActiveDocument.Range.Find
.Text = "userxx"
.Replacement.Text = i + 1
.Text = "pwxx"
.Replacement.Text = exlDoc.Cell(3, i)
End With
ActiveDocument.SaveAs2 i, ".doc"
Next
End Sub
Wie ich den QR-Code aus dem Link als Bild einfügen kann ist mir sowieso ein Rätsel, der Rest haut aber gar nicht hin!
Ich hoffe ihr könnt mir helfen.
Viele Grüße