Temponäre Datei
#21
Moin,

die benötigte Prozedur hab ich dir doch mitgeliefert. Du musst nur ein Document-Objekt und den anzuzeigenden Namen übergeben. Wenn du ohne Verweis auf die Word-Bibliothek arbeitest, musst du den Prozedur Kopf gegebenenfalls noch auf ein generisches Object statt auf ein Document umschreiben.

Beachte auch, dass der angezeigte Fenstertitel keinerlei weitere Bedeutung hat. Insbesondere ist das kein Vorschlagswert für späteres händisches speichern.

Viele Grüße
derHöpp
Antworten Top
#22
Vielen Dank für die Erläuterung!

Wird nichts übrig bleiben, den Dateinamen wenn speichern händisch einzigeben.
Antworten Top
#23
Wenn du nur eine Word Instanz öffnen und deren automatisch generierten Namen ändern willst, dann geht dies über die Caption-Eigenschaft.

Bei mir funktioniert es bspw. mit:

Code:
Sub Word()

Dim name As String
name = ActiveCell.Value
lngZeile = ActiveCell.Row

Dim objWord As New Word.Application
objWord.Visible = True

name = Format(Date, "YYYY_MM_DD") & "_" & Format(lngZeile, "0000")

objWord.Documents.Add
objWord.ActiveWindow.Caption = name

End Sub

Nur, wenn du dann am Ende tatsächlich sichern willst und vorher, vor Änderung der Caption dir z.B. Dokument77 angezeigt wurde, wird daraus dann der Namensvorschlag Dok77. Somit eine Ablweitung aus der ursprünglichen Caption.
Antworten Top
#24
Wenn die Datei nach dem Einfügen der Textmarken, sowieso automatisch gespeichert wrid, ist  es m. E. immer noch vollkommen egal, welchen Namen das Dokument in der Titelleiste hat.

Wahrscheinlich ist  Word schneller mit dem Einfügen und speichern als der Benutzer "Piep" sagen kann und dann steht der richtige Name sowieso in der Titelleiste.

VG
Antworten Top
#25
Hast Du Recht, nur werden die dateien eben nicht immer an selber Stelle gespeichert.
Antworten Top
#26
Hallo,

dann lass doch nach dem Eintragen der Textmarken den Dialog "Speichern unter" anzeigen und gebe dort den Dateinamen mit.

Oder steht der Pfad zum abspeichern evtl. auch in demem Excel Tabellenblatt?

VG
Antworten Top
#27
So, der Code funzt.

Kann man den Dateiname zum speichern irgendwie noch vordefinieren?

name = Format(Date, "YYYY_MM_DD") & "_" & Cells(lngZeile, 4) & ".docx"   =   Speichername der Datei was vorgegeben wird.
Antworten Top
#28
Ich habe jetzt folgenden Code gefunden der so auch funzt
Code:
With Dialogs(wdDialogFileSaveAs)
.Name = "MeinDokument"
.Show
End With
nur wie bekomme ich es zusammengebastelt ohne Fehlermeldung?
Code:
With Dialogs(wdDialogFileSaveAs)
.Name = Format(Date, "YYYY_MM_DD") & "_" & Cells(lngZeile, 4)   'ergibt eine Fehlermeldung
.Show
End With
Antworten Top
#29
Ich habe einen Code gefunden, mit dem für den File.Dialog der Name vorgegeben werden kann.

Sub Word()

    Dim name As String

    name = ActiveCell.Value
    lngZeile = ActiveCell.Row
   
    Dim objWord As New Word.Application
    objWord.Visible = True
   
    'name = Format(Date, "YYYY_MM_DD") & "_" & Format(lngZeile, "0000")
    name = Format(Date, "YYYY_MM_DD") & "_" & Cells(lngZeile, 4) & ".docx"
   
    objWord.Documents.Add
    objWord.ActiveWindow.Caption = name

https://stackoverflow.com/questions/6514...pre-filled
    Dim fd As Office.fileDialog
    Set fd = objWord.Application.fileDialog(msoFileDialogSaveAs)
   
    With fd
        .InitialFileName = name
        If .Show = True Then
          strFile = .SelectedItems(1)
        End If
    End With

Musst halt mal schauen, ob dir das hilft.

End Sub
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste