[GELÖST] Makro Schleife zur automatischen Rechnungs Erstellung

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

MASP47
**
Beiträge: 28
Registriert: Sa, 04.06.2022 10:18

Re: Makro Schleife zur automatischen Rechnungs Erstellung

Beitrag von MASP47 »

Hallo Mikeleb!

Danke für deine Rückmeldung!

Also das is ein Teil des Codes aus dem Makro zum PDF Export:

Code: Alles auswählen

'Export to pdf

rem ----------------------------------------------------------------------
dim args2(2) as new com.sun.star.beans.PropertyValue
args2(0).Name = "URL"
args2(0).Value = pdf_url 'This is equals to path and needed filename with "pdf" extension; but it is in URL format 
args2(1).Name = "FilterName"
args2(1).Value = "calc_pdf_Export"
args2(2).Name = "FilterData"
args2(2).Value = Array(_
Array("UseLosslessCompression",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("Quality",0,90,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("ReduceImageResolution",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("MaxImageResolution",0,300,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("UseTaggedPDF",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("SelectPdfVersion",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("ExportNotes",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("ExportBookmarks",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("OpenBookmarkLevels",0,-1,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("UseTransitionEffects",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("IsSkipEmptyPages",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("IsAddStream",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("FormsType",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("ExportFormFields",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("HideViewerToolbar",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("HideViewerMenubar",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("HideViewerWindowControls",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("ResizeWindowToInitialPage",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("CenterWindow",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("OpenInFullScreenMode",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("DisplayPDFDocumentTitle",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("InitialView",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("Magnification",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("Zoom",0,100,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("PageLayout",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("FirstPageOnLeft",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("InitialPage",0,1,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("Printing",0,2,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("Changes",0,4,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("EnableCopyingOfContent",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("EnableTextAccessForAccessibilityTools",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("ExportLinksRelativeFsys",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("PDFViewSelection",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("ConvertOOoTargetToPDFTarget",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("ExportBookmarksToPDFDestination",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("_OkButtonString",0,"",com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("EncryptFile",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("DocumentOpenPassword",0,"",com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("RestrictPermissions",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("PermissionPassword",0,"",com.sun.star.beans.PropertyState.DIRECT_VALUE),_
Array("",0,,com.sun.star.beans.PropertyState.DIRECT_VALUE))

Dim args18(2) as new com.sun.star.beans.PropertyValue
	args18(0).Name = "URL"	
	args18(0).Value = pdf_url
	args18(1).Name = "FilterName"
	args18(1).Value = "calc_pdf_Export"
	dim aFilterData(0) as new com.sun.star.beans.PropertyValue
	aFilterData(0).Name = "Selection"
	aFilterData(0).Value = ThisComponent.CurrentController.ActiveSheet
	args18(2).Name = "FilterData"
	args18(2).Value = aFilterData()
	ThisComponent.storeToUrl(args18(0).value,args18())
dispatcher.executeDispatch(document, ".uno:ExportDirectToPDF", "", 0, args18())



'back to normal view

rem ----------------------------------------------------------------------
dim args16(0) as new com.sun.star.beans.PropertyValue
args16(0).Name = "NormalViewMode"
args16(0).Value = true

dispatcher.executeDispatch(document, ".uno:NormalViewMode", "", 0, args16())

rem ----------------------------------------------------------------------
'dim args17(0) as new com.sun.star.beans.PropertyValue
'args17(0).Name = "Nr"
'args17(0).Value = 3

'dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args17())

dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$Q$3"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
oDoc.removeActionLock()
oDoc.unlockControllers()
Der Code stammt noch von meinem Vorgänger, den ich aber leider nicht mehr fragen kann. Aber ich glaube nicht, dass der das Makro 'nur' aufgezeichnet hat.

Unmittelbar davor werden per Filter die entsprechenden Positionen der Rechnung(snummer) zugewiesen und der Druckbereich festgelegt. Danach kommt eben dieser Code.

Danke noch mal!
mikeleb
*******
Beiträge: 1315
Registriert: Fr, 09.12.2011 16:50

Re: Makro Schleife zur automatischen Rechnungs Erstellung

Beitrag von mikeleb »

Hallo,
da ist einiges durcheinander. Wirf' die Hälfte weg und lass nur folgendes übrig:

Code: Alles auswählen

'Export to pdf


Dim args18(2) as new com.sun.star.beans.PropertyValue
	args18(0).Name = "URL"	
	args18(0).Value = pdf_url
	args18(1).Name = "FilterName"
	args18(1).Value = "calc_pdf_Export"
	dim aFilterData(0) as new com.sun.star.beans.PropertyValue
	aFilterData(0).Name = "Selection"
	aFilterData(0).Value = ThisComponent.CurrentController.ActiveSheet
	args18(2).Name = "FilterData"
	args18(2).Value = aFilterData()
	ThisComponent.storeToUrl(args18(0).value,args18())



'back to normal view

rem ----------------------------------------------------------------------
dim args16(0) as new com.sun.star.beans.PropertyValue
args16(0).Name = "NormalViewMode"
args16(0).Value = true

dispatcher.executeDispatch(document, ".uno:NormalViewMode", "", 0, args16())

rem ----------------------------------------------------------------------
'dim args17(0) as new com.sun.star.beans.PropertyValue
'args17(0).Name = "Nr"
'args17(0).Value = 3

'dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args17())

dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$Q$3"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
oDoc.removeActionLock()
oDoc.unlockControllers()
Gruß,
mikeleb
MASP47
**
Beiträge: 28
Registriert: Sa, 04.06.2022 10:18

Re: Makro Schleife zur automatischen Rechnungs Erstellung

Beitrag von MASP47 »

Danke Mikeleb,
hab ich probiert! Allerdings ist alles unverändert - die Rechnungserstellung funktioniert, aber es poppt nach wie vor der Dialog 'Eigenschaften von "Abrechnungsdatei"' auf, den man mit OK bestätigen muss.
LG
mikeleb
*******
Beiträge: 1315
Registriert: Fr, 09.12.2011 16:50

Re: Makro Schleife zur automatischen Rechnungs Erstellung

Beitrag von mikeleb »

Hallo,
der eigentliche pdf-Export erfolgt durch folgenden Teil

Code: Alles auswählen

Dim args18(2) as new com.sun.star.beans.PropertyValue
	args18(0).Name = "URL"	
	args18(0).Value = pdf_url
	args18(1).Name = "FilterName"
	args18(1).Value = "calc_pdf_Export"
	dim aFilterData(0) as new com.sun.star.beans.PropertyValue
	aFilterData(0).Name = "Selection"
	aFilterData(0).Value = ThisComponent.CurrentController.ActiveSheet
	args18(2).Name = "FilterData"
	args18(2).Value = aFilterData()
	ThisComponent.storeToUrl(args18(0).value,args18())
Dabei erschient kein Dialog (teste diesen Teil einfach mal allein).
Der Dialog muss durch einen weiteren Aufruf irgendwo in in deinem Makro erfolgen ...
Gruß,
mikeleb
MASP47
**
Beiträge: 28
Registriert: Sa, 04.06.2022 10:18

Re: Makro Schleife zur automatischen Rechnungs Erstellung

Beitrag von MASP47 »

Hey Mikeleb,
danke für deine schnellen Rückmeldungen!

Ich hab echt schon ein bisschen ein Makro Chaos bei mir.. :lol: Ich hab den gesamten Code jetzt durchgesehen und nichts gefunden:

Code: Alles auswählen

REM  *****  BASIC  *****

OPTION EXPLICIT


'***********************************************************************************************

sub RechnungFahrten


rem ----------------------------------------------------------------------
rem define variables
 dim oDoc as object
 dim Sheets as object 
 dim Sheet as object
 dim Cell as object
 dim CellHerba as object
 dim CellFahrt as object
 dim document   as object
 dim dispatcher as object 
 
 dim url_of_ods_document as String  	' the URL of this document
 dim doc_path as String					' the URL of this document without the full filename
 
 dim pdf_url as String					' the URL of pdf document
 dim FileName as String 				' the PDF filename from a cell
 dim FileNameWithExtension as String 	' the full filename of PDF document

 dim i as integer
 dim len_url as integer 				' the length of URL
 dim sep_char_pos as integer 			' position of the next "/" separator of URL
 dim last_sep_pos as integer 			' position of the last "/" separator of URL
oDoc = ThisComponent
oDoc.lockControllers()
oDoc.addActionLock()
rem ----------------------------------------------------------------------


rem get access to the document
 document   = ThisComponent.CurrentController.Frame
 dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:SetDocumentProperties", "", 0, Array())



'Get pdf filename and combine with URL of this document

Sheet = odoc.currentcontroller.activesheet

'dim args77(0) as new com.sun.star.beans.PropertyValue
'args77(0).Name = "Nr"

'if args77(0).value= 1 then
'	Sheet = Sheets.getByName("Rechnung erstellen")  'change this to your sheet name
'else
'	Sheet = Sheets.getByName("Rechnung erstellen")  'change this to your sheet name
'end if

CellHerba = Sheet.getCellRangeByName("Q3")
CellFahrt = Sheet.getCellRangeByName("S4")

if cellFahrt.string = "ja" then

	Cell = Sheet.getCellRangeByName("X10")  'change this to the cell that has the file name

else

	Cell = Sheet.getCellRangeByName("W10")
	
end if

FileName = Cell.String
FileNameWithExtension = Filename + ".pdf"


url_of_ods_document =(ThisComponent.getURL())
len_url = len(url_of_ods_document)
i=1

Back:
	sep_char_pos = InStr(i, url_of_ods_document, "/", 1) 'maybe better solution to use a "do" cycle, not "goto"
	if (sep_char_pos <> 0) then
		i=sep_char_pos+1
	 	goto Back 
	else 
		last_sep_pos = i-1
	end if
	 
doc_path = left(url_of_ods_document, last_sep_pos)
pdf_url = doc_path + FileNameWithExtension



'Set print area
'if odoc.currentcontroller.activesheet.name = "Fahrtenübersicht erstellen" then
call druckberentfAlles()
call Alleseinblenden()

if cellFahrt.string = "nein" then
	
	call druckberRechnung
	
end if

if cellFahrt.string = "ja" then	
	
	call durchberBeides()
	call standardfilter()

end if
	
if cellHerba.string = "Herba" then

	call druckberentfAlles()
	call Alleseinblenden()
	call druckBeReHe()
	call standardfilter()

end if
'Export to pdf


Dim args18(2) as new com.sun.star.beans.PropertyValue
	args18(0).Name = "URL"	
	args18(0).Value = pdf_url
	args18(1).Name = "FilterName"
	args18(1).Value = "calc_pdf_Export"
	dim aFilterData(0) as new com.sun.star.beans.PropertyValue
	aFilterData(0).Name = "Selection"
	aFilterData(0).Value = ThisComponent.CurrentController.ActiveSheet
	args18(2).Name = "FilterData"
	args18(2).Value = aFilterData()
	ThisComponent.storeToUrl(args18(0).value,args18())



'back to normal view

rem ----------------------------------------------------------------------
dim args16(0) as new com.sun.star.beans.PropertyValue
args16(0).Name = "NormalViewMode"
args16(0).Value = true

dispatcher.executeDispatch(document, ".uno:NormalViewMode", "", 0, args16())

rem ----------------------------------------------------------------------
'dim args17(0) as new com.sun.star.beans.PropertyValue
'args17(0).Name = "Nr"
'args17(0).Value = 3

'dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args17())

dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$Q$3"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
oDoc.removeActionLock()
oDoc.unlockControllers()

end sub

sub addHerba
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 = "ToPoint"
args1(0).Value = "$A$5403:$K$5435"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:AddPrintArea", "", 0, Array())


end sub

Sub druckberentfAlles
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 args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Nr"
args3(0).Value = 1

dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args3())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeletePrintArea", "", 0, Array())
End Sub

Sub Alleseinblenden
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 = "ToPoint"
args1(0).Value = "C56:N5403"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:ShowRow", "", 0, Array())
End Sub

sub durchberBeides
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 = "ToPoint"
args1(0).Value = "$A$1:$K$5403"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DefinePrintArea", "", 0, Array())
end sub

Sub standardfilter
 dim suchName as String
 dim Cell as variant
 dim CellHer as object
 dim oDok as object
 dim oDatenSheet as object
 dim oBereichAlleDaten as object
 dim oFilterBeschreib as object
 dim oFilterFeld as object
'(1)
' Dokument
oDok = ThisComponent

' Tabellenblatt mit Daten
oDatenSheet = _
 oDok.getSheets().getByName( "Rechnung erstellen" )


' Bereich
oBereichAlleDaten = _
 oDatenSheet.getCellRangeByName( "C64:N5400" )


'(2)
' FILTER erstellen
oFilterBeschreib = _
 oBereichAlleDaten.createFilterDescriptor ( TRUE )
      
Cell = oDatenSheet.getCellRangeByName("Q3")  'change this to the cell that has the file name 
suchName = Cell.String

oFilterFeld = _
 createUnoStruct( "com.sun.star.sheet.TableFilterField" )
With oFilterFeld
 .Field = 10 ' Spalte M
 .Operator = com.sun.star.sheet.FilterOperator.EQUAL
 .StringValue = suchName
End With


' Feld auf Filter anwenden
oFilterBeschreib.setFilterFields( Array( oFilterFeld ) )

' Filter auf Datenbereich anwenden
oBereichAlleDaten.filter( oFilterBeschreib ) 

If Cell.String = "Herba" then
	call VersteckeZeilen
End if

end sub

sub druckberRechnung
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 = "ToPoint"
args1(0).Value = "$A$1:$K$54"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DefinePrintArea", "", 0, Array())


end sub

sub druckBeReHe

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 = "ToPoint"
args1(0).Value = "$A$1:$K$5424"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DefinePrintArea", "", 0, Array())
end sub

sub AllesAusblenden
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 = "ToPoint"
args1(0).Value = "C64:N5400"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:HideRow", "", 0, Array())
End Sub

sub VersteckeZeilen
Dim doc as object
Dim sheet as object
Dim Range as object
doc = ThisComponent
sheet = doc.CurrentController.ActiveSheet
range = sheet.getCellRangeByName("A57:K5403")
range.Rows.isVisible = False
end sub

sub FahrtenAktual
dim oDoc as object

oDoc = ThisComponent
oDoc.lockControllers()
oDoc.addActionLock()

call ZeigeZeilen
call Alleseinblenden()
call standardfilter()

oDoc.removeActionLock()
oDoc.unlockControllers()
end sub

Sub ZeigeZeilen
Dim doc as object
Dim sheet as object
Dim Range as object
doc = ThisComponent
sheet = doc.CurrentController.ActiveSheet
range = sheet.getCellRangeByName("A57:K5403")
range.Rows.isVisible = True
End Sub


sub EinsHoch
dim oZelle
oZelle = ThisComponent.Sheets.getByName( "Rechnung erstellen" ).getCellRangeByName( "P03" )
oZelle.Value = oZelle.Value + 1 

call RechnungFahrten
end sub
Ich hab noch andere Makro Module in der Datei, aber ich glaub auf die greift dieses nicht zu.

Werd am Abend weiterprobieren!

Danke vorerst!

LG Andi
mikeleb
*******
Beiträge: 1315
Registriert: Fr, 09.12.2011 16:50

Re: Makro Schleife zur automatischen Rechnungs Erstellung

Beitrag von mikeleb »

Hallo,
ganz am Anfang der sub RechnungFahrten rufst du den Eingenschaftendialog auf:

Code: Alles auswählen

dispatcher.executeDispatch(document, ".uno:SetDocumentProperties", "", 0, Array())
Warum?
Gruß,
mikeleb
MASP47
**
Beiträge: 28
Registriert: Sa, 04.06.2022 10:18

Re: Makro Schleife zur automatischen Rechnungs Erstellung

Beitrag von MASP47 »

Hey,
wie gesagt, das stammt alles von meinem Vorgänger in der Firma, aber den kann ich leider nicht mehr fragen.
Ich probier später einfach mal die Zeile wegzulassen.
Danke derweil und LG
Andi
MASP47
**
Beiträge: 28
Registriert: Sa, 04.06.2022 10:18

Re: Makro Schleife zur automatischen Rechnungs Erstellung

Beitrag von MASP47 »

Wahnsinn! Das war's! Vielen vielen Dank mikeleb!

Es funktioniert jetzt alles wie geschmiert und genau so, wie ich es wollte. :) Danke auch den anderen Mitpostern! :)

Liebe Grüße,
Andi
MASP47
**
Beiträge: 28
Registriert: Sa, 04.06.2022 10:18

Re: Makro Schleife zur automatischen Rechnungs Erstellung

Beitrag von MASP47 »

Karolus hat geschrieben: Mo, 06.06.2022 11:21 Hallo
Ich denke du solltest das ganze mit einem Serien-druck-Dokument in Writer erschlagen!
Hallo noch mal, Karolus!

Dein Vorschlag könnte mir vielleicht bei einem anderen Problem helfen. Kann ich damit auch einfach nur das Verschicken der Rechnungen an die entsprechenden Empfänger per Mail automatisieren?

Oder gehört das Thema dann in einen anderen thread?

Liebe Grüße
Andi
Hiker
******
Beiträge: 590
Registriert: Mo, 08.09.2014 21:34
Wohnort: Berlin

Re: Makro Schleife zur automatischen Rechnungs Erstellung

Beitrag von Hiker »

MASP47 hat geschrieben: Mo, 06.06.2022 20:31 ... Kann ich damit auch einfach nur das Verschicken der Rechnungen an die entsprechenden Empfänger per Mail automatisieren?
...
Ein Serienbrief erzeugt ein Individualisierbares Dokument pro Datensatz oder hängt diese hintereinander (damit sie nicht einzeln gedruckt werden müssen). In Deinem Fall müsste man ein Variables Attachment einbinden, was ich bisher nicht gesehen habe. Das dürfte sich schneller z.B. in Thunderbird lösen lassen (mailmerge-plugin).

Ich würde aber tatsächlich einen separaten Thread für eine solche Frage empfehlen. Du kannst ja einen Link auf diesen Threadsetzen um den Hintergund zu erklären.

J.
Libre Office 6.3.1 (Win 10 Pro) / Libre Office 6.0.7 (Win8.1 Pro, Win 7 Pro) / AOO (Win 7)
Antworten