2016-05-12 21 views
-1

Das ist wahrscheinlich eine wirklich einfache Frage, aber was ich habe, habe ich Ich habe eine Ladung Code, der gut funktioniert, aber wenn es darum geht, das Dokument zu speichern, kann ich es nur als speichern bestimmte Namen, aber ich es als „Besucher Tagebuch Recruitment (etwas Einmaliges)“ gespeichert werden soll, damit es die doccument jedes Mal, wenn ich es laufen überschreiben tut und schafft stattdessen ein neues DokumentVBA EXCEL/WORT - SPEICHERN ALS

With wApp 
.ActiveDocument.SaveAs2 (path) 
.ActiveWindow.Close 
.Quit 

Set wApp = Nothing 
Set wDoc = Nothing 
End With 
End Sub 

Bitte um Hilfe :)

Antwort

1

Sie könnten das Dokument mit einer eindeutigen ID speichern (es gibt viele Optionen dafür - je nach Bedarf):

set uniqueName = Int(25 * Rnd()) + 1 //25 is the amount of random numbers you want 

Verwenden eines Datumzeit:

set uniqueName = Format(Now(), "MMMM dd, yyyy hh:mm AM/PM") 
  • Zufallszahl
  • Tempel DATETIME
  • Verwenden einer GUID

Verwendung einer Zufallszahl verwendenEin Guid verwenden - Ich habe das selbst noch nicht gemacht, obwohl ich sicher bin, dass es einen Weg geben muss, einen zu generieren. (This könnte helfen)

Dann wird Ihr SaveAs, dies ändern:

ActiveDocument.SaveAs2 ("C:\Users\colesa\Desktop\Recruitment Macros\Visitor Diary Recruitment" +uniqueName + ".doc") 
+1

zusätzliche paranoid zu sein, können Sie eine 'Do' hinzufügen ...' Loop', die überprüft, ob der Dateiname du bist Der Versuch zu verwenden existiert bereits. Wenn dies der Fall ist, können Sie eine neue Ausgabe generieren. Wenn Sie einen Zeitstempel verwenden (was ich tun würde), warten Sie entweder eine Sekunde oder fügen Sie am Ende einen Zähler hinzu. –

+0

Vielen Dank, Arbeitete! –

+0

@Samuel Cole Das ist großartig zu hören, bitte vergiss nicht, die Antwort zu akzeptieren, damit andere wissen, was sie verwenden könnten. – Hexie