Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1532to1536
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Dateinamen einer Worddatei programieren
09.01.2017 14:41:56
Carla
Halli Hallo,
Ich komme gar nicht dazu mich hier für die Lösungs meines letzten Beitrags zu bedanken, da dieser super schnell beantwortet und gelöst wurde.
Also erstmal vielen Dank dafür an dieser Stelle.
Der Code ist wie folgt aufgebaut:

Sub Test()
Dim appWord As Object, docWord As Object, wks As Worksheet, Zeile&
Set wks = ThisWorkbook.Worksheets("Request Sheet")
Set appWord = CreateObject("Word.Application")
Set docWord = appWord.Documents.Add("C:\Users\xxxxxx\Desktop\xxxxxx.docx")      'anpassen
Zeile = Application.InputBox("Tragen Sie die lfd. Nr. ein:", "Eingabe", _
Type:=1)
appWord.Visible = True
With docWord
.Bookmarks("Datum").Range.Text = wks.Range("B" & Zeile).Value
.Bookmarks("Kontakt").Range.Text = wks.Range("C" & Zeile).Value
.Bookmarks("Typ").Range.Text = wks.Range("D" & Zeile).Value
.Bookmarks("Format").Range.Text = wks.Range("E" & Zeile).Value
End With
End Sub

Ich möchte meinem Programm nun den Feinschliff verpassen.
Ich versuche dazu einen Pfad zu definieren, in dem die Worddatei als .docx gespeichert wird und den Dateinamen aus der Zelle 'Kontakt' und 'Datum' aus dem Code betiteln.
Dabei soll aber die Zeile verwendet werden, die durch die Variable 'zeile' definiert ist.
Mein kläglicher Versuch lautet wie folgt:
Dim N, P As String
P = "C:\Users\xxxxxx\"
N = Sheets(1).[A10].Value
T = ".docx"
ActiveWorkbook.SaveAs Filename:=P & N & T
leider benennt er die Datei zwar in den Wert aus A10 aber wenn ich auf speichern drücke fragt er trozdem nach einem pfad. Und er bennent die Exceldatei um :(

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Dateinamen einer Worddatei programieren
09.01.2017 17:01:01
Michael
Hi,
1. benötigt VBA die Typangabe zu jeder Variablen *einzeln*, also formuliere bitte:
Dim N as string, P as string
2. Activeworkbook IST ja die Excel-Datei; um das Word-Doc zu speichern, solltest Du es DORT einfügen.
Insgesamt also (ungetestet) etwa so:
Sub Test()
Dim appWord As Object, docWord As Object, wks As Worksheet, Zeile&
Dim N as string, P as string, T as String
P = "C:\Users\xxxxxx\"
N = Sheets(1).[A10].Value
T = ".docx"
Set wks = ThisWorkbook.Worksheets("Request Sheet")
Set appWord = CreateObject("Word.Application")
Set docWord = appWord.Documents.Add("C:\Users\xxxxxx\Desktop\xxxxxx.docx")      'anpassen
Zeile = Application.InputBox("Tragen Sie die lfd. Nr. ein:", "Eingabe", _
Type:=1)
appWord.Visible = True
With docWord
.Bookmarks("Datum").Range.Text = wks.Range("B" & Zeile).Value
.Bookmarks("Kontakt").Range.Text = wks.Range("C" & Zeile).Value
.Bookmarks("Typ").Range.Text = wks.Range("D" & Zeile).Value
.Bookmarks("Format").Range.Text = wks.Range("E" & Zeile).Value
.saveas filename:=P & N & T ' ***
End With
End Sub

Ob Word das .saveas in exakt dieser Schreibweise "versteht", kann ich jetzt nicht sagen; schlimmstenfalls zeichnest Du es in Word mal mit dem Makrorecorder auf.
Schöne Grüße,
Michael
Anzeige
AW: Dateinamen einer Worddatei programieren
11.01.2017 08:03:04
Carla
Hey Michael, vielen Dank, du hast mir sehr geholfen :)
Nun klappt alles wie es soll :)
freut mich,
15.01.2017 13:24:43
Michael
Carla,
danke für die Rückmeldung & Gruß,
Michael

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige