Seite 1 von 1

Rechnungsnummer generieren

Verfasst: Mo 16. Apr 2018, 21:54
von cynep8
Hallo liebes Forum,
ich habe mal wieder ein Frage zu einem Makro. Ich würde gerne über einen Button eine Rechnungsnummer generieren.
Die Rechnung wird über eine Vorlage jedes mal neu erstellt. Im Moment wird die Rechnungsnummer immer von Hand eingetragen und von einer Liste weg gestrichen. Leider wird das wegstreichen des öfteren vergessen und nummern werden doppelt vergeben. :roll:
Mein Gedanke war in einer anderen Datei die Rechnungsnummer ab zuspeichern. In der Rechnungsvorlage gibt es einen Button der liest erst aus dieser Datei die Nummer aus, erhöht Sie um eins und schreibt Sie in das Rechnungsnummernfeld, sowie in die vorher ausgelesene Datei. Die Rechnungen werden nur an einem Computer erstellt, weshalb ein gleichzeitiger Zugriff nicht vorkommen sollte.
Wichtig ist mir das ich die Rechnungsnummer einfach korrigieren kann falls jemand in der Rechnung mist gebaut hat.

Vor 2 Tagen hatte ich schon zumindest ein Makro gefunden welches den Wert aus einer Zelle in eine .txt Datei schreibt. Komme leider im Moment nicht mehr an diese experimentier Datei ran bzw. finde das Beispiel nicht mehr im Netz. Sobald ich es finden sollte würde ich es auch gleich noch mal posten.

Macht mein Gdankengang sinn? Oder ist es eine schlechte Vorgehensweise?
Ich hoffe Ihr könnt mir helfen!



Gruß Cynep8

Re: Rechnungsnummer generieren

Verfasst: Di 17. Apr 2018, 07:20
von Lupo

Re: Rechnungsnummer generieren

Verfasst: Di 17. Apr 2018, 21:02
von cynep8
Hallo Lupo,
danke für deine Antwort! Ist aber nicht ganz was ich gesucht habe.
Mittlerweile konnte ich mir mit verschiedenen Makrocodes was zusammen basteln. :mrgreen:
Leider nicht sehr elegant, dafür fehlen mir die Kenntnisse :oops: aber es funktioniert soweit.

Code: Alles auswählen

Sub text_imp_Test
Dim myValue as integer
Dim Daten as Variant
		datei = Freefile
		open "C:\RG_Nummer.txt" for InPut as datei
		
		For i = 0 to 0
		
		Input #datei, Currentele
		If Currentele <> "" then
			daten() = split(Currentele,chr(9),7)
			For j= 0 to 0
	 		myValue = daten(j)
			
			ThisComponent.Sheets.getbyname("Tabelle1").getCellByPosition(9,24).Value = myValue
			next j
			
		End If
		next i
		close #datei
		
		Pluseins
		
		end sub


Sub Pluseins
oSheet = ThisComponent.sheets.getbyname("Tabelle1")'Zugriff auf Tabelle1
ocell = osheet.getcellrangebyname("J25") 'oder .getcellbyposition(2,4) -> Zugriff auc C5
ocell.value = ocell.value +1 'hochzählen

txt_expo

End Sub


Sub txt_expo
	objDatei = ThisComponent
	objBlatt = objDatei.Sheets().getbyname("Tabelle1")
	objZelle = objBlatt.getCellRangebyName("J25")
	objCursor = objBlatt.createCursorByRange(objZelle)	
	objCursor.gotoEnd()
	
	maxline = objCursor.getrangeaddress().endrow
	maxspa = objCursor.getrangeaddress().endrow
		 
   	datei = Freefile
   	open ConvertToURL("C:\RG_Nummer.txt") for OutPut as datei
   	For i = 24 to 24
   		inhalt = ""
   		For j = 9 to 9
  	If objBlatt.getcellbyposition(j,i).String <> "" then
   		arg = objBlatt.getcellbyposition(j,i).String
   			inhalt = inhalt + arg & chr(9)
   			End If
   		next j
    	Print #datei, inhalt
   	Next i
   
   	close #datei
end sub