Text von writer nach thunderbird

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

Moderator: Moderatoren

Benutzeravatar
sven-my
*****
Beiträge: 358
Registriert: Fr, 14.12.2007 19:56

Text von writer nach thunderbird

Beitrag von sven-my »

Hallo Experten,

mit folgender Zeilen in einem Makro bekomme ich

Adresse, Betreff und den Dateinamen aus einem OOwriter-Dokument nach Thunderbird :

Code: Alles auswählen

FileN=FileNameoutofPath(oUrl)
betr = oDoc.getTextTables().getByName("Tabelle2").getCellByPosition(0,1).string 	'Betreff
empf = oDoc.getTextTables().getByName("eMail").getCellByPosition(1,0).string		'eMail-Adresse

shell("E:\MozillaThunderbird\thunderbird.exe",1,"-compose to="+empf+",subject="+betr+",body="+FileN)
Das Einfügen von FileN als Attachement in dieser Form: ",attachment=file:///"+FileN klappt nicht.

Dann möchte ich auch noch die Anrede, und einen Teil des Textes nach Tb übertragen, was beides natürlich nicht in einer Tabelle steht.

Für Anrede und Text existieren allerdings Textmarken.

Wie kann ich das anstellen ?


gruß
sven-my

Korrektur:
habe meinen Fehler bei ",attachment=file:///"+FileN entdeckt, so klappts :

Code: Alles auswählen

atta = ConvertToURL (FileN)
",attachment="+atta
Für den Rest benötige ich weiterhin Eure Hilfe.

gruß, Frohes Fest und Gutenb Rutsch
sven-my
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
hawkhunter2002
**
Beiträge: 32
Registriert: So, 25.02.2007 09:11
Wohnort: Ingolstadt

Re: Text von writer nach thunderbird

Beitrag von hawkhunter2002 »

Hallo sven-my,

um Text aus Textmarken zu holen kannst du folgende Function verwenden

Code: Alles auswählen

Function getmyBookmarkText()
	dim odoc as Object
	dim obookmark as String
	dim myTextString as String
	obookmark = "Textmarke1" ' Name der Textmarke
	odoc = thiscomponent 'Aktuelles Dokument Holen
	myBookmarks = odoc.getBookmarks 'Alle Textmarken Holen
	
	if myBookmarks.hasByName(obookmark) Then 'Wenn meine gewünschte Textmarke vorhanden ist dann ..
		myTextString = myBookmarks.getByName(obookmark).Anchor.getString
	else
		msgbox "Textmarke "	& obookmark & " nicht gefunden"
		exit function
	end if
	getmyBookmarkText = myTextString
End Function
zum testen kannst mal diesen Code verwenden

Code: Alles auswählen

Sub Main
	msgbox getmyBookmarkText()
End sub
Gruß

Hawk
OOO Basic Programmierers best Friend XRay-Tool
Benutzeravatar
sven-my
*****
Beiträge: 358
Registriert: Fr, 14.12.2007 19:56

Re: Text von writer nach thunderbird

Beitrag von sven-my »

Hallo Hawk,

vielen Dank für Deine Antwort.

Nachdem ich Deine Funktion angepasst habe (Name der gesuchten Textmarke), habe ich die Funktion hinter "end sub" eingefügt, und der betreffende Teil sieht nun so aus:

Code: Alles auswählen

betr = oDoc.getTextTables().getByName("Tabelle2").getCellByPosition(0,1).string 	'Betreff
empf = oDoc.getTextTables().getByName("eMail").getCellByPosition(1,0).string		'eMail-Adresse
'anrT = oDoc.getTextTables().getByName("AnredeText").getCellByPosition(0,0).string	'AnredeText

oUrl = oDoc.url
GlobalScope.BasicLibraries.LoadLibrary("Tools")

FileN = FileNameoutofPath(oUrl)

getmyBookmarkText()                                           'Aufruf Hawk´s Funktion
msgbox "Text = " & myTextString
msgbox "Text enthält :" & getmyBookmarkText()
[anrT = oDoc.getTextTables().....] habe ich auskommentiert, da das Dokument, mit dem ich gerade getestet habe, die Anrede nicht in einer Tabelle tehen hat.

Beide Strings werden leer zurück gegeben.

Was habe ich falsch gemacht ?


gruß
sven-my
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
hawkhunter2002
**
Beiträge: 32
Registriert: So, 25.02.2007 09:11
Wohnort: Ingolstadt

Re: Text von writer nach thunderbird

Beitrag von hawkhunter2002 »

Hallo sven-my,

ich habe meiner Function noch den Textmarkennamen als Übergabeparameter spendiert und etwas kommentiert, ich hoffe das hilft dir weiter.
Allerdings muss der Text in den Textmarken stehen. Kannnst du einfach kontrollieren indem du dir den Navigator einblendest (mit F5)
in den Abschnitt mit den Textmarken gehst und auf den Namen der Textmarke einen Doppelklick ausführst nun sollte der komplette Text markiert sein.
Wenn nur der Cursor vor deinem (hinter) (in) deinen Text springt ist die Textmarke leer >> Rückgabestring auch leer.

hier noch die angepasste Function mit Beispielaufruf.

Code: Alles auswählen

Sub Main	'Aufrufende Function
	msgbox getmyBookmarkText("Textmarke1") ' Textmarke1 ist der Name der übergebenen Textmarke an die Function
	msgbox "Text enthält :" & getmyBookmarkText("Textmarke1") 'getmyBookmarkText("Textmarke1") kann wie ein String behandelt werden
															  'da die Function einen String zurück gibt zur Not auch einen leeren ;)
End sub

Function getmyBookmarkText(oTexmarkenName as String) as String '(oTexmarkenName as String) bedeutet übergebener Wert aus der aufrufenden
															   ' Prozedeur (sub) ist ein String.				
															   ' ... as String bedeutet der Rückgabewert ist ein String	
	dim odoc as Object			
	dim obookmark as String
	dim myTextString as String
	odoc = thiscomponent 'Aktuelle Dokument Holen
	myBookmarks = odoc.getBookmarks 'Alle Textmarken Holen
	'xray myBookmarks
	if myBookmarks.hasByName(oTexmarkenName) Then 'Wenn meien gewünschte Textmarke vorhanden ist dann ..
		myTextString = myBookmarks.getByName(oTexmarkenName).Anchor.getString
	else
		msgbox "Textmarke "	& oTexmarkenName & " nicht gefunden"
		exit function
	end if
	getmyBookmarkText = myTextString
End Function

Gruß

Hawk
OOO Basic Programmierers best Friend XRay-Tool
Benutzeravatar
sven-my
*****
Beiträge: 358
Registriert: Fr, 14.12.2007 19:56

Re: Text von writer nach thunderbird

Beitrag von sven-my »

Hallo Hawk,

Du bist ja schneller als die Feuerwehr. vielen Dank.

Ich habe so das unbestimmte Gefühl, wir sprechen von verschiedenen Dingen ?! Wenn ich die Textmarken, egal, ob über Navigator, oder von der Statusleiste aus anspringe, wird bei mir kein Text markiert. Der Corsor springt an die Stelle, an der die Textmarken stehen, dort wo der eingefügte Text beginnt.

Die Textmarken füge ich ein über EINFÜGEN/TEXTMARKE (der Menuepunkt mit dem PIN als Icon).

Ich nutze OpenOffice 2.41 unter win98SE.


gruß
sven-my
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
hawkhunter2002
**
Beiträge: 32
Registriert: So, 25.02.2007 09:11
Wohnort: Ingolstadt

Re: Text von writer nach thunderbird

Beitrag von hawkhunter2002 »

Hallo sven-my,

wir sprechen schon über dasselbe 8)
Nur markiere mal deinen Text vorher und füge dann die Textmarke ein :idea:
Dann steht der Text in der Marke.
Alternative (allerdings etwas aufwendiger) wäre, wenn du deine Texte zwischen mehreren Textmarken stellen würdest.
Dann könntest du sie dir über TextCursor bzw ViewCursor holen.(Habe ich allerdings noch nicht ausprobiert).


Gruß

Hawk
OOO Basic Programmierers best Friend XRay-Tool
hawkhunter2002
**
Beiträge: 32
Registriert: So, 25.02.2007 09:11
Wohnort: Ingolstadt

Re: Text von writer nach thunderbird

Beitrag von hawkhunter2002 »

Hallo sven-my hallo liebe mitlesende Gemeinde,

weil's mich jetzt selber interessiert hat :?: hier der Code mit Textmarken die den Text nicht beinhalten sondern vor und hinter dem Text stehen, in der Art wie:
Textmarke1 Super toller genialer Text Textmarke2 hier kann natürlich weiterer Text stehen und auch weitere Textmarken die entsprechen angesprungen werden können.

Code: Alles auswählen

Sub Main   'Aufrufende Function
		
		textmarke1 = "Textmarke1"	'TextmarkenName vor dem Text
		textmarke2 = "Textmarke2"	'TextmarkenName hinter dem Text
		toller_Text = holMyCursorString(textmarke1, textmarke2) ' Aufruf der Function mit 2 Uebergabeparametern
	
		msgbox  toller_Text   		'Testausgabe des geholten Text 
End sub


Function holMyCursorString(textmarke1 as String, textmarke2 as String) as String
	
	dim myCursor as Object
	dim myDoc as Object
	dim tm1 as Object
	dim tm2 as Object
	Dim myTextCursor as object
	
	myDoc = thiscomponent
	'myCursor=myDoc.GetCurrentController.ViewCursor 'Alternative zum TextCursor der ViewCursor wird hier nicht verwendet
	myCursor=myDoc.text.createtextcursor()
	tm1 = myDoc.getBookmarks.getByName(textmarke1).getAnchor ' Anker der Textmarke vor dem Text
	tm2 = myDoc.getBookmarks.getByName(textmarke2).getAnchor ' ' Anker der Textmarke hinter dem Text
	
	myCursor.gotoRange(tm1,false) 'gehe zur Textmarke tm1
	myCursor.gotoRange(tm2,true)  'gehe zur Textmarke tm2 und markiere den Text zwischen aktueller u. neuer Position 	
	holMyCursorString = myCursor.getString	'hol denString und uebergib ihn der Function 

End Function


Gruß

Hawk
OOO Basic Programmierers best Friend XRay-Tool
Benutzeravatar
sven-my
*****
Beiträge: 358
Registriert: Fr, 14.12.2007 19:56

Re: Text von writer nach thunderbird

Beitrag von sven-my »

Hallo Hawk,

vielen Dank für Deine Arbeit !!!

Einfach SPITZE --- nach anpassen des Namens der Textmarke klappt es wie gehofft.

Genial wäre es, wenn nur den ersten Absatz kopiert würde.

So sieht ein Blindtext aus:

[Textmarke1]Sehr geehrte Damen und Herren,

[Textmarke2]Er hörte leise Schritte hinter sich. Das bedeutete nichts Gutes. Wer würde ihm schon folgen, spät in der Nacht und dazu noch in dieser engen Gasse mitten im übel beleumundeten Hafenviertel.

Gerade jetzt, ........
......
......
........Würde diese Tür seine Rettung werden?

[Textmarke3]Mit freundlichen Grüßen


gruß
sven-my
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
hawkhunter2002
**
Beiträge: 32
Registriert: So, 25.02.2007 09:11
Wohnort: Ingolstadt

Re: Text von writer nach thunderbird

Beitrag von hawkhunter2002 »

Hallo sven-my,
das ist jetzt ein Fingerübung, das Ende des Absatzes erhälst du mit

Code: Alles auswählen

myCursor.gotoEndOfParagraph(true)
hier nochmal der komplette Code nun wird nur der erste Absatz geholt das Übergeben der 2ten Textmarke kann hier entfallen.

Code: Alles auswählen

 Sub Main   'Aufrufende Function
          
          textmarke1 = "Textmarke3"   'TextmarkenName vor dem Text
          textmarke2 = "Textmarke4"   'TextmarkenName hinter dem Text
          toller_Text = holMyCursorString(textmarke1, textmarke2) ' Aufruf der Function mit 2 Uebergabeparametern
       
          msgbox  toller_Text         'Testausgabe des geholten Text
    End sub


    Function holMyCursorString(textmarke1 as String, textmarke2 as String) as String
       
       dim myCursor as Object
       dim myDoc as Object
       dim tm1 as Object
       dim tm2 as Object
       Dim myTextCursor as object
       
       myDoc = thiscomponent
       'myCursor=myDoc.GetCurrentController.ViewCursor 'Alternative zum TextCursor der ViewCursor wird hier nicht verwendet
       myCursor=myDoc.text.createtextcursor()
       tm1 = myDoc.getBookmarks.getByName(textmarke1).getAnchor ' Anker der Textmarke vor dem Text
       tm2 = myDoc.getBookmarks.getByName(textmarke2).getAnchor ' ' Anker der Textmarke hinter dem Text
       
       myCursor.gotoRange(tm1,false) 'gehe zur Textmarke tm1
       myCursor.gotoEndOfParagraph(true) ' Markiert den Text zw aktueller Position und Ende des Absatzes
       'myCursor.gotoRange(tm2,true)  'gehe zur Textmarke tm2 und markiere den Text zwischen aktueller u. neuer Position    
       holMyCursorString = myCursor.getString   'hol denString und uebergib ihn der Function

    End Function


Gruß

Hawk
OOO Basic Programmierers best Friend XRay-Tool
Benutzeravatar
sven-my
*****
Beiträge: 358
Registriert: Fr, 14.12.2007 19:56

Re: Text von writer nach thunderbird

Beitrag von sven-my »

Hallo Hawk,

entschuldige, daß ich mich erst so spät melde. :(

Eine Grippe, oder so was ähnliches, hat mich von den Füßen gerissen; dann ist auch noch mein win98 über den Jordan.

Nun habe ich erstmal reichlich damit zu tun, mein System wieder auf den alten Stand zu bekommen.
Bei der Sicherung der Daten habe ich alles schön dokumentiert, und beim Schreiben dieser Dokumentation war alles so schön einfach, klar und verständlich, aber heute nach Monaten weiß ich bei manchem Satz nicht mehr was ich damit meinte. :?

Danach kann ich mich um wieder um Feinheiten von OpenOffice kümmern; bis dahin muß ich mit dem Standard hinkommen.

Klar --- ich sollte langsam auf was Besseres umsteigen ~~~~~ :lol:

gruß
sven-my
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
Benutzeravatar
sven-my
*****
Beiträge: 358
Registriert: Fr, 14.12.2007 19:56

Re: Text von writer nach thunderbird

Beitrag von sven-my »

Hallo Hawk,

das Jahr fängt ja gut an --- nachdem ich mich, und dann win98 wieder hochgerappelt hatte, ist mir mein Modem verreckt.
Nun bin ich wieder in der Lage mein Problem zu schildern:

Mit diesen Zeilen bekomme ich die Mail-Adresse und den Betreff nach Thunderbird, beim "body" und "attachment" weigert sich das Makro --- zumindet kommt in Thunderbird 2.0.0.19 nichts an.
Die strings sind aber nicht leer (überprüft mit msgbox).

Da das nicht klappt bekomme ich auch mit Deinem Code nichts nach Thunderbird (deswegen auskommentiert).

Hast Du eine Idee, was ich falsch gemacht habe ???


gruß
sven-my
rem ===================================
sub SendMail

oDoc = ThisComponent
Title = oDoc.DocumentInfo.Title
oUrl = oDoc.Url
anha = left(right(oUrl,6),2)
ordner = "writer\"
if anha <> "SR" then exit sub

ausl = oDoc.getTextTables().getByName("eMail").getCellByPosition(0,0).string 'eMail ja / nein
betr = oDoc.getTextTables().getByName("Tabelle2").getCellByPosition(0,1).string 'Betreff
empf = oDoc.getTextTables().getByName("eMail").getCellByPosition(1,0).string 'eMail-Adresse
anrT = oDoc.getTextTables().getByName("AnredeText").getCellByPosition(0,0).string 'AnredeText

'GlobalScope.BasicLibraries.LoadLibrary("Tools")

'GetText
' toller_Text = holMyCursorString(textmarke1, textmarke2) ' Aufruf der Function mit 2 Uebergabeparametern
' msgbox toller_Text 'Testausgabe des geholten Text

FileN = FileNameoutofPath(oUrl)

attN = "D:\OpenOffice\"+ordner+left(FileN,37)+"-SR.pdf"
attA = ConvertToURL (attN)

shell("E:\MozillaThunderbird\thunderbird.exe",1,"-compose to="+empf+",subject="+betr) '+",body="+anrT+",attachment="+attA)

end sub
rem ===================================
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
hawkhunter2002
**
Beiträge: 32
Registriert: So, 25.02.2007 09:11
Wohnort: Ingolstadt

Re: Text von writer nach thunderbird

Beitrag von hawkhunter2002 »

Hallo sven-my

hatte in den letzten Tagen viel zu tun daher erst jetzt eine Antwort :?

Folgender Code funktioniert bei mir

Code: Alles auswählen

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

sub SendMail

oDoc = ThisComponent
Title = oDoc.DocumentInfo.Title
oUrl = oDoc.Url
anha = left(right(oUrl,6),2)
ordner = "writer\"
msgbox anha
if anha <> "SR" then 
	exit sub
end if

ausl = oDoc.getTextTables().getByName("eMail").getCellByPosition(0,0).string 'eMail ja / nein
betr = oDoc.getTextTables().getByName("Tabelle2").getCellByPosition(0,1).string 'Betreff
empf = oDoc.getTextTables().getByName("eMail").getCellByPosition(1,0).string 'eMail-Adresse
anrT = oDoc.getTextTables().getByName("AnredeText").getCellByPosition(0,0).string 'AnredeText

GlobalScope.BasicLibraries.LoadLibrary("Tools")

'msgbox "Auswahl = " & ausl
'msgbox "Betreff = " & betr
'msgbox "Empfänger = " & empf
'msgbox "Anrede = " & anrT

'GetText
textmarke1 = "textmarke1"
textmarke2 = "textmarke2"


toller_Text = holMyCursorString(textmarke1, textmarke2) ' Aufruf der Function mit 2 Uebergabeparametern
' msgbox "Mein Text = " & toller_Text 'Testausgabe des geholten Text

Anrede_und_Text = anrT & "  " & toller_Text

'msgbox Anrede_und_Text

FileN = FileNameoutofPath(oUrl)
'msgbox FileN

attN = "e:\Dolphins.jpg" 'OpenOffice\"+ordner+left(FileN,37)+"-SR.pdf"
attA = ConvertToURL (attN)
'msgbox attA

tbParameter = "-compose to="+empf+",subject="+ betr +",body="+Anrede_und_Text+",attachment="+attA
msgbox tbParameter
 
shell("C:\Programme\Mozilla Thunderbird\thunderbird.exe",1,tbParameter)
end sub
rem ===================================



Function holMyCursorString(textmarke1 as String, textmarke2 as String) as String
       
       dim myCursor as Object
       dim myDoc as Object
       dim tm1 as Object
       dim tm2 as Object
       Dim myTextCursor as object
       
       myDoc = thiscomponent
       'myCursor=myDoc.GetCurrentController.ViewCursor 'Alternative zum TextCursor der ViewCursor wird hier nicht verwendet
       myCursor=myDoc.text.createtextcursor()
       tm1 = myDoc.getBookmarks.getByName(textmarke1).getAnchor ' Anker der Textmarke vor dem Text
       tm2 = myDoc.getBookmarks.getByName(textmarke2).getAnchor ' ' Anker der Textmarke hinter dem Text
       
       myCursor.gotoRange(tm1,false) 'gehe zur Textmarke tm1
       myCursor.gotoEndOfParagraph(true) ' Markiert den Text zw aktueller Position und Ende des Absatzes
       'myCursor.gotoRange(tm2,true)  'gehe zur Textmarke tm2 und markiere den Text zwischen aktueller u. neuer Position   
       holMyCursorString = myCursor.getString   'hol denString und uebergib ihn der Function

End Function

Ich hoffe das hilft


Gruß

Hawk
OOO Basic Programmierers best Friend XRay-Tool
Benutzeravatar
sven-my
*****
Beiträge: 358
Registriert: Fr, 14.12.2007 19:56

Re: Text von writer nach thunderbird

Beitrag von sven-my »

Hallo Hawk,

erstmal vielen Dank für Die Arbeit, die Du Dir gemacht hast.

Nach anpassen der Textmarke 1 & 2, dem Pfad zu Thunderbird und attN =, kam leider die Enttäuschung --- das gleiche Problem, wie zuvor.

Empfängeradresse und Betreff werden richtig in Tb eingetragen, aber Body und Attachment, die in msgbox noch angezeigt werden, sind nicht vorhanden.
Wobei aber der Body nur aus dem AnredeText besteht (Sehr geehrte Damen und Herren,) ich nehme an, das sich die Funktion "holMyCursorString" am 'linefeed' verschluckt; das Komma habe ich schon entfernt, und es nochmals probiert --- für ",body=" zeigt die msgbox nur den Anredetext an.

Beiß' Dich jetzt aber nicht an dem ",body=" fest; da es sich meist um die gleichen Floskeln handelt, habe ich das in Tb über QuickText und eine Adressbuch-Erweiterung gelöst.

Wichtig ist mir,daß ich das Attachment nach Tb bekomme.



So sehen etwa (hier mit Blindtext von OO nachgestellt) die Schreiben aus, die per Mail weg sollen:
([textmarke2] wird durch das Einfügen von einem Autotext verschoben.)

----------------
[textmarke1]Sehr geehrte Damen und Herren,

er hörte leise Schritte hinter sich, und das bedeutete http://xxxxxxxxx.de/ geht nicht.

Wer würde ihm schon folgen, spät in der Nacht und dazu noch in dieser engen Gasse mitten im übel beleumundeten Hafenviertel? Gerade jetzt, wo er das Ding seines Lebens gedreht hatte und mit der Beute verschwinden wollte!

Hatte einer seiner zahllosen Kollegen dieselbe Idee gehabt, ihn beobachtet und abgewartet, um ihn nun um die Früchte seiner Arbeit zu erleichtern? Oder gehörten die Schritte hinter ihm zu einem der unzähligen Gesetzeshüter dieser Stadt, und die stählerne Acht um seine Handgelenke würde gleich zuschnappen?

[textmarke2]Langsam bewegte er sich auf die offene Tür zu.


Mit freundlichen Grüßen
Absender
----------------

Vorhin hat, während ich an dem Makro bastelte, ein anderes Programm mein win98 zum Absturz gebracht.
Nachdem ich wieder gestartet habe, und OO das Dokument wiederhergestellt hatte, bekomme ich beim Aufruf des Makros folgende Fehlermeldung:

Code: Alles auswählen

FileN = FileNameoutofPath(oUrl)
Basic-Laufzeitfehler
Sub- oder Function- Prozedur nicht definiert


Da muß ich wohl OO neu installieren ???

gruß
sven-my

Ergänzung:

mußte nicht neu installieren, in den Tools war die Funktion noch richtig enthalten.
nur mußte ich, bevor ich sie aufrufe, folgendes reinschreiben:

Code: Alles auswählen

oURL = ConvertFromURL(ThisComponent.getURL())
FileN = FileNameoutofPath(oURL)
Ich verstehe bloß nicht, warum er vorher nicht gemault hat :(

gruß
sven-my
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
Karolus
********
Beiträge: 7519
Registriert: Mo, 02.01.2006 19:48

Re: Text von writer nach thunderbird

Beitrag von Karolus »

Hallo
Du hattest vorher die Bibliothek nicht aktiviert in der sich "FileNameoutofPath" befindet, das kannst du im Code selbst mit:
BasicLibraries.LoadLibrary("Tools")
erledigen.
http://www.dannenhoefer.de/faqstarbasic ... ml#Zweig36

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Benutzeravatar
sven-my
*****
Beiträge: 358
Registriert: Fr, 14.12.2007 19:56

Re: Text von writer nach thunderbird

Beitrag von sven-my »

Hallo Karolus,

herzlichen Dank !!! Der Fehler ist beseitigt. (Ich frage mich nur, weshalb es mal funktionierte, und mal nicht)

Aber das attachment bekomme ich immer noch nicht nach Thunderbird.

So habe ich probiert:

Code: Alles auswählen

rem ===================================
sub SendMail

BasicLibraries.LoadLibrary("Tools")

oDoc = ThisComponent
Title = oDoc.DocumentInfo.Title
oUrl = oDoc.Url
anha = left(right(oUrl,6),2)
ordner = "writer\"
if anha <> "SR" then exit sub

betr = oDoc.getTextTables().getByName("Tabelle2").getCellByPosition(0,1).string 	'Betreff
empf = oDoc.getTextTables().getByName("eMail").getCellByPosition(1,0).string		'eMail-Adresse
anrT = oDoc.getTextTables().getByName("AnredeText").getCellByPosition(0,0).string	'AnredeText
FileN = FileNameoutofPath(oUrl)

attN = "D:\OpenOffice\"+ordner+left(FileN,37)+"-SR.pdf"						
attA = ConvertToURL (attN)

1.Versuch (mit body, mit ConvertToURL)

Code: Alles auswählen

kMail = empf+",subject="+betr+",body="+anrT+",attachment="+atta
shell("E:\MozillaThunderbird\thunderbird.exe",1,"-compose to="+kMail)
2.Versuch (mit body, nicht ConvertToURL)

Code: Alles auswählen

kMail = empf+",subject="+betr+",body="+anrT+",attachment="+attN
shell("E:\MozillaThunderbird\thunderbird.exe",1,"-compose to="+kMail)
3.Versuch (ohne body, mit ConvertToURL)

Code: Alles auswählen

kMail = empf+",subject="+betr+",attachment="+atta
shell("E:\MozillaThunderbird\thunderbird.exe",1,"-compose to="+kMail)
4.Versuch (ohne body, nicht ConvertToURL)

Code: Alles auswählen

kMail = empf+",subject="+betr+",attachment="+attN
shell("E:\MozillaThunderbird\thunderbird.exe",1,"-compose to="+kMail)


end sub
rem ===================================
langsam bin ich am verzweifeln --- vorallem, weil es schon mal geklappt hat, ich aber nich mehr nachvollziehen kann, was da anders war.

Wie schon gesagt: Adresse und Betreff kommen in Tb 2.0.0.19 von OpenOffice 2.41 an.

gruß
sven-my
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
Antworten