von Manu1981 » Di, 20.12.2022 12:41
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
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
[b]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[/b]
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