XML-File Export mit Dateiname aus Zelle
Moderator: Moderatoren
XML-File Export mit Dateiname aus Zelle
Hallo,
ich habe eine Art "Bestellformular" für einen Kunden gebastelt, in dem der Kunde nur noch seine Artikel einzutragen braucht und daraus dann nach einem Klick auf einen Makrobutton eine XML-Datei erzeugt wird, welche ich hier ins System einlesen kann. Das funktioniert auch ganz gut mit dem im Makro hinterlegten Dateinamen (import-xml). Allerdings hätte ich gerne, dass der Dateiname die Bestellnummer ist (z.B. 000001.xml). Die entsprechende Nummer erhöht sich nach jedem Export automatisch (Makro) um 1 und steht in der Zelle Bestellung.I4.
Da ich nicht so der VBA-Crack bin, frage ich Euch: Was muss ich am Makro " XMLFILE" ändern, damit der Dateiname nicht mehr import.xml sondern "Inhalt der Zelle Bestellung.I4 (fortlaufende Nummer).xml" heißt?
Viele Grüße
Manu
Aktuell sieht das Makro folgendermaßen aus....
sub TOXMLFINAL (Mit diesem Teil geht Calc auf das zu exportierende Tabellenblatt)
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Nr"
args1(0).Value = 4
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())
end sub
sub XMLFILE (Dateiexport - um diesen Teil geht es aktuell)
Dim myProps(1) as New com.sun.star.beans.PropertyValue
sPath="C:\BESTELLUNG\import.xml"
sUrl=ConvertToUrl (sPath)
myProps(0).Name = "FilterName"
myProps(0).Value ="Text - txt - csv (StarCalc)"
myProps(1).Name="FilterOptions"
myProps(1).Value ="0/9,0,76,1,1/1/2/1" 'string mit den Optionen
myDoc = thisComponent
myDoc.storeAsUrl(sUrl,myProps())
End Sub
sub TOBestellung (Mit diesem Teil geht es wieder zum ersten Tabellenblatt (Bestellung).
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Nr"
args1(0).Value = 1
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())
end sub
ich habe eine Art "Bestellformular" für einen Kunden gebastelt, in dem der Kunde nur noch seine Artikel einzutragen braucht und daraus dann nach einem Klick auf einen Makrobutton eine XML-Datei erzeugt wird, welche ich hier ins System einlesen kann. Das funktioniert auch ganz gut mit dem im Makro hinterlegten Dateinamen (import-xml). Allerdings hätte ich gerne, dass der Dateiname die Bestellnummer ist (z.B. 000001.xml). Die entsprechende Nummer erhöht sich nach jedem Export automatisch (Makro) um 1 und steht in der Zelle Bestellung.I4.
Da ich nicht so der VBA-Crack bin, frage ich Euch: Was muss ich am Makro " XMLFILE" ändern, damit der Dateiname nicht mehr import.xml sondern "Inhalt der Zelle Bestellung.I4 (fortlaufende Nummer).xml" heißt?
Viele Grüße
Manu
Aktuell sieht das Makro folgendermaßen aus....
sub TOXMLFINAL (Mit diesem Teil geht Calc auf das zu exportierende Tabellenblatt)
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Nr"
args1(0).Value = 4
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())
end sub
sub XMLFILE (Dateiexport - um diesen Teil geht es aktuell)
Dim myProps(1) as New com.sun.star.beans.PropertyValue
sPath="C:\BESTELLUNG\import.xml"
sUrl=ConvertToUrl (sPath)
myProps(0).Name = "FilterName"
myProps(0).Value ="Text - txt - csv (StarCalc)"
myProps(1).Name="FilterOptions"
myProps(1).Value ="0/9,0,76,1,1/1/2/1" 'string mit den Optionen
myDoc = thisComponent
myDoc.storeAsUrl(sUrl,myProps())
End Sub
sub TOBestellung (Mit diesem Teil geht es wieder zum ersten Tabellenblatt (Bestellung).
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Nr"
args1(0).Value = 1
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())
end sub
Re: XML-File Export mit Dateiname aus Zelle
Moin,
versuche es mit diesem Makro:
versuche es mit diesem Makro:
Code: Alles auswählen
sub XMLFILE '(Dateiexport - um diesen Teil geht es aktuell)
Dim myProps(1) as New com.sun.star.beans.PropertyValue
oSheet = ThisComponent.Sheets.getbyName("Bestellung")'Tabellenblatt
oCell = oSheet.getCellrangebyName("I4")'Zelle mit lfd. Nummer
sFilename = format(oCell.Value,"000000") & ".xml" 'Generierung Dateiname
sPath="C:\BESTELLUNG\" & sFilename
sUrl=ConvertToUrl (sPath)
myProps(0).Name = "FilterName"
myProps(0).Value ="Text - txt - csv (StarCalc)"
myProps(1).Name="FilterOptions"
myProps(1).Value ="0/9,0,76,1,1/1/2/1" 'string mit den Optionen
myDoc = thisComponent
myDoc.storeAsUrl(sUrl,myProps())
End Sub
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: XML-File Export mit Dateiname aus Zelle
Hallo
Wenn man einem …csv Export die Dateiendung …xml gibt, bleibts trotzdem …csv, was soll also der Unfug?
Wenn man einem …csv Export die Dateiendung …xml gibt, bleibts trotzdem …csv, was soll also der Unfug?
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: XML-File Export mit Dateiname aus Zelle
Stimmt lass es regnen ...
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: XML-File Export mit Dateiname aus Zelle
Hi und vielen Dank schon einmal für die Antworten.
Ich habe es einmal mit dem Makro ausprobiert, aber leider heißt die Datei nun 000000.xml und es ändert sich nichts.
Es wird also kein Bezug auf Zelle I4 genommen, welche sich nach jedem Klick auf den Makrobutton "Speichern & Neu" um 1 erhöht.
Gibt es hier noch einen Lösungsvorschlag?
Viele Grüße
Manu
Ich habe es einmal mit dem Makro ausprobiert, aber leider heißt die Datei nun 000000.xml und es ändert sich nichts.
Es wird also kein Bezug auf Zelle I4 genommen, welche sich nach jedem Klick auf den Makrobutton "Speichern & Neu" um 1 erhöht.
Gibt es hier noch einen Lösungsvorschlag?
Viele Grüße
Manu
Re: XML-File Export mit Dateiname aus Zelle
Hallo,
dann tipppe ich mal ins Blaue, dass I4 keine Zahl sondern Text enthält oder die gewünschte, zu exportierende Tabelle nicht "Bestellung" heißt.
dann tipppe ich mal ins Blaue, dass I4 keine Zahl sondern Text enthält oder die gewünschte, zu exportierende Tabelle nicht "Bestellung" heißt.
Gruß,
mikeleb
mikeleb
Re: XML-File Export mit Dateiname aus Zelle
Hallo Mikeleb,
ersteres könnte in der Tat der Fall sein. Ich mache mich gerade mal an die Lösung des Problems.
Melde mich danach nochmal.
Viele Grüße
Manu
ersteres könnte in der Tat der Fall sein. Ich mache mich gerade mal an die Lösung des Problems.
Melde mich danach nochmal.
Viele Grüße
Manu
Re: XML-File Export mit Dateiname aus Zelle
Hi Mikeleb,
ersteres war tatsächlich der Fall. Vielen Dank für Deine Hilfe. Ich merke erst jetzt, dass es auch sinnvoll sein könnte, wenn der sPath aus einer Zelle ausgelesen werden kann (somit kann der Kunde den Pfad entsprechend anpassen).
Welche Änderungen müsste ich hierzu durchführen?
Viele Grüße
Manu
ersteres war tatsächlich der Fall. Vielen Dank für Deine Hilfe. Ich merke erst jetzt, dass es auch sinnvoll sein könnte, wenn der sPath aus einer Zelle ausgelesen werden kann (somit kann der Kunde den Pfad entsprechend anpassen).
Welche Änderungen müsste ich hierzu durchführen?
Viele Grüße
Manu
Re: XML-File Export mit Dateiname aus Zelle
Moin Manu,
wenn der Pfad als Text in Zelle I5 stünde...
Selber denken ...
R
wenn der Pfad als Text in Zelle I5 stünde...
Code: Alles auswählen
sub XMLFILE '(Dateiexport - um diesen Teil geht es aktuell)
Dim myProps(1) as New com.sun.star.beans.PropertyValue
oSheet = ThisComponent.Sheets.getbyName("Bestellung")'Tabellenblatt
oCell = oSheet.getCellrangebyName("I4")'Zelle mit lfd. Nummer
oPathCell = oSheet.getCellrangebyName("I5")'Zelle mit Pfad
sFilename = format(oCell.Value,"000000") & ".xml" 'Generierung Dateiname
sPath = oPathCell.String & sFilename
sUrl=ConvertToUrl (sPath)
myProps(0).Name = "FilterName"
myProps(0).Value ="Text - txt - csv (StarCalc)"
myProps(1).Name="FilterOptions"
myProps(1).Value ="0/9,0,76,1,1/1/2/1" 'string mit den Optionen
myDoc = thisComponent
myDoc.storeAsUrl(sUrl,myProps())
End Sub
R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: XML-File Export mit Dateiname aus Zelle
Hallo nochmal,
vielen Dank!! Hat wunderbar funktioniert.
Viele Grüße
Manu
vielen Dank!! Hat wunderbar funktioniert.
Viele Grüße
Manu