778 Aufrufe
Gefragt in Textverarbeitung von
Hallo Zusammen
Ich habe ein kleines Problem, und zwar will ich in Word über einen Makro eine Rechnung Neu abspeichern nur soll die Rechnungsnummer in 999 geändert werden, der Dateiname jedoch soll beibehalten werden. Das heißt die nummer wird geändert der Name der hinter der Nummer steht soll aber der gleiche wie davor sein.
z.B R1234Müller -> R999Müller
Ich will die Funktion aber bei jeder Rechnung verwenden das heißt auch wenn die Person zum Beispiel "Maier" heißt.
Wär lieb wenn mir jemand helfen könnte :)
LG Luca

7 Antworten

0 Punkte
Beantwortet von
Hallo, Windows 95, Office 2000....;-D
0 Punkte
Beantwortet von
Hallo Luca,

wenn man dir hier helfen soll, wären noch ein paar Infos wichtig.

warum über Makro? Was hält dich davon ab, das manuell über Datei ->
Speichern unter bzw. F12 zu machen? Warum ausgerechnet 999? Was
machst du, wenn der Müller 2 Rechnungen bekommen hat oder es 2
Kunden mit dem Namen Müller gibt? Fragen über Fragen...

L.G. Mr. K.
0 Punkte
Beantwortet von
Hallo zusammen!
Vielen Dank für die Nachfrage.

Es geht um ein Office 2013 (könnte aber auch auf 2016 umsteigen, falls es damit besser geht). Windows 7Pro.

Bisher speichere ich bestehende rechnungen immer manuell unter dem neuen Dateinamen "99999 Name", so lange die Rechnung in Bearbeitung ist. Am Schluss vergebe ich dann natürlich eine laufende Rechnungsnummer.

Diesen manuellen Vorgang (Dateinamen des Word-Dokuments ändern) möchte ich gerne per Makro (oder sonst wie) automatisieren.

Für jeden Tipp bin ich dankbar!

LG Luca
0 Punkte
Beantwortet von
Hallo xx :-)

Wie gewünscht ^^

Gruss Nighty

Sub Makro999()
Dim NeuerName As String
Dim DocZeichen As Integer
For DocZeichen = 1 To Len(Mid(ActiveDocument.Name, 1, InStr(ActiveDocument.Name, ".") - 1))
If IsNumeric(Mid(Mid(ActiveDocument.Name, 1, InStr(ActiveDocument.Name, ".") - 1), DocZeichen, 1)) And schalter = False Then
NeuerName = NeuerName & "999"
schalter = True
End If
If Not IsNumeric(Mid(Mid(ActiveDocument.Name, 1, InStr(ActiveDocument.Name, ".") - 1), DocZeichen, 1)) Then NeuerName = NeuerName & Mid(Mid(ActiveDocument.Name, 1, InStr(ActiveDocument.Name, ".") - 1), DocZeichen, 1)
Next DocZeichen
If schalter = False Then NeuerName = "999" & ActiveDocument.Name
NeuerName = NeuerName
ChangeFileOpenDirectory "D:\Temp\"
ActiveDocument.SaveAs FileName:="" & NeuerName & ".doc", FileFormat:=wdFormatDocument
End Sub


Pfad vorletzte Zeile anpassen
0 Punkte
Beantwortet von
Hi Lukas ^^

ops,hatte den namen vergessen zu ersetzen :-)

Gruss Nighty
0 Punkte
Beantwortet von
Hi Lukas ^^

die zeile noch löschen

NeuerName = NeuerName

diente nur der kontrolle

Gruss Nighty
0 Punkte
Beantwortet von
hi Lukas

korrigiert,hatte besuch vorhin

gruss nighty

Sub Makro999()
Dim NeuerName As String
Dim DocZeichen As Integer
Dim Schalter As Boolean
For DocZeichen = 1 To Len(ActiveDocument.Name)
If IsNumeric(Mid(ActiveDocument.Name, DocZeichen, 1)) And Schalter = False Then
NeuerName = NeuerName & "999"
Schalter = True
End If
If Not IsNumeric(Mid(ActiveDocument.Name, DocZeichen, 1)) Then NeuerName = NeuerName & Mid(ActiveDocument.Name, DocZeichen, 1)
Next DocZeichen
If Schalter = False Then NeuerName = "999" & ActiveDocument.Name
ChangeFileOpenDirectory "D:\Temp\"
ActiveDocument.SaveAs FileName:="" & NeuerName & ".doc", FileFormat:=wdFormatDocument
End Sub
...