Seite 1 von 1

Doc Datei als Mail

Verfasst: Do, 17. Mär 2022 8:14
von Koverhage
Habe die Anforderung bekommen, Briefe (DOC Dokumente) die bisher ausschließlich gedruckt wurden, als Mail zu verschicken wenn eine Mail Adresse hinterlegt ist.
Normal dürfte das relativ einfach sein habe aber in der Beschreibung zur SendMail Methode nur

Options.SendMailAttach = True // True als Anhang, False als Nachrichtentext
ActiveDocument.SendMail

das gefunden.
Wie kann ich die E-Mail Adresse des Empfängers setzen ?
Hat das schon jemand gemacht ?

Re: Doc Datei als Mail

Verfasst: Fr, 18. Mär 2022 0:10
von azzo
Hallo Klaus,

Code: Alles auswählen

 HARBOUR code 
oWord:Documents:Open( cDocName, 0 , 0 )    //readonly 3. parameter 1
    
      oDoc := oWord:ActiveDocument
      oWord:Visible := .t.
      
      oWord:WindowState := 1
      oWin := oWord:Get( "ActiveWindow" )

         if VALType( cEMAIL ) = "C"
            if len(ALLTRIM( cEMAIL ) ) > 0
               oWin:Set( "EnvelopeVisible", .t. )
               oDoc:MailEnvelope:Item:Subject = cBetreff
               oDoc:MailEnvelope:Item:Recipients:Add( cEMAIL )
            endif
         endif
		TRY
      
      CATCH
      MsgInfo( "Es gibt ein Problem mit dem WORDDOKUMENT: " + cDocPfad  + "\" +  cDocName )
   	END

LG
Otto

Re: Doc Datei als Mail

Verfasst: Fr, 18. Mär 2022 0:19
von azzo
Hallo Klaus,
bin mir nicht sicher, ob es diese Einträge noch braucht.
Error Word.Application:ACTIVEDOCUMENT:MAILMERGE/3 DISP_E_MEMBERNOTFOUND: EXECUTE
I resolved by changing the registry key:

HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Word\Options
"SQLSecurityCheck" = dword: 000000001.Registrierungs-Editor starten.

no file conversion message box in Word 2010 in merge text
HKEY_CURRENT_USER\Software\Microsoft \Office\12.0\Word\Options
DefaultCpg"=dword:0000fde9 für UTF8
LG
Otto

Re: Doc Datei als Mail

Verfasst: Fr, 18. Mär 2022 8:00
von Koverhage
Hallo Otto,
danke für den Code. Werde es probieren.

Re: Doc Datei als Mail

Verfasst: Fr, 18. Mär 2022 10:46
von Wolfgang Ciriack
Ich bin ja der Meinung, man sollte die Word-Dokumente nicht per Mail versenden, lieber als PDF.
Kann man ja über ActiveX machen, Dokument öffnen und als PDF speichern.
Oder gleich den gesamten Text aus dem Word-Dokument in eine Mail einfügen.

Re: Doc Datei als Mail

Verfasst: Fr, 18. Mär 2022 11:14
von azzo
Hallo Wolfgang,
Wir senden die Hotelangebote über OUTLOOK von WORD aus.
Wir haben festgestellt, dass PDFs oft nicht geöffnet werden, da die Empfänger Angst habe.
Auch wissen manche Empfänger nicht, wie man ein PDF am Handy öffnen kann.
LG
Otto

Re: Doc Datei als Mail

Verfasst: Fr, 18. Mär 2022 11:16
von Martin Altmann
Ich kann Wolfgang nur zustimmen:
Word-Dokumente per Mail zu versenden ist aus sicherheitstechnischer Sicht mindestens grob fahrlässig!

Viele Grüße,
Martin

Re: Doc Datei als Mail

Verfasst: Fr, 18. Mär 2022 11:46
von Tom
So'n Quatsch. Mit den richtigen Sicherheitseinstellungen und -systemen stellt das heutzutage wirklich kein Problem mehr dar, und wenn man gemeinsam an einem Dokument arbeiten möchte, ist PDF einfach keine gute Wahl. 8)

Re: Doc Datei als Mail

Verfasst: Fr, 18. Mär 2022 12:01
von Martin Altmann
Es geht hier nicht um interne oder abgestimmte Kommunikation - sondern sicherlich um Rechnungen.
Und ich rede hier auch nicht um die Übertragung der Datei per Vershclüsselung/gesichert. Das ist nicht das Problem an sich (und würde auch keinen Unterschied machen zu einer ungesicherten Übertragung einer PDF-Datei).
Ich rede von dem Dateiformat an sich:
  • Metadaten
  • Briefpapier
Alles leicht änderbar/abgreifbar/auswertbar.

Viele Grüße,
Martin

Re: Doc Datei als Mail

Verfasst: Fr, 18. Mär 2022 12:12
von Tom
Hallo, Martin.

Es geht um Briefe, steht jedenfalls in der Ausgangsnachricht. Wenn gewünscht ist, das im DOC/X-Format zu schicken, ist der Verweis auf PDF sicher nicht falsch, aber auch nicht unbedingt hilfreich. Vor allem dann nicht, wenn die Bearbeitbarkeit der Dokumente erforderlich ist. Ansonsten käme ich auch im Traum nicht auf die Idee, sowas wie Serienbriefe als Mailanhang im Word-Format zu versenden. Da hast Du recht mit Deinen Anmerkungen - aus Perspektive der Dokumentensicherheit ist das ein No-Go.

Aber, wie gesagt, wenn es notwendig ist, weil das infrastrukturell erfordert wird, dann geht auch das. Das Risiko von Schäden durch Schadsoftware in Officemakros ist in einer ordentlich strukturierten IT minimal.

Re: Doc Datei als Mail

Verfasst: So, 20. Mär 2022 11:12
von Koverhage
Wolfgang,
Oder gleich den gesamten Text aus dem Word-Dokument in eine Mail einfügen.
Nicht anderes habe ich geschrieben und gewollt,
Das Teil soll als Serienbrief laufen, wobei wie sollte das funktionieren ? (Tip erwünscht)
Es gibt Word >Dokumente mit Textmarken, die ersetzt werden und eben anstatt gedruckt per Mail versendet werden sollen.

Re: Doc Datei als Mail

Verfasst: So, 20. Mär 2022 11:16
von Koverhage
Martin
das ist schon wieder mal eine falsche Vermutung von Dir.
1. Rechnungen werden bei uns (nicht wie eventuell bei Dir) per Word erstellt.
2. Wenn Rechnungen per Mail verschickt werden, passiert das ausschließlich mit PDF Rechnungen.
3. Aus Datenschutzgründen werden diese auch noch mit einem Kennwort versehen.

Re: Doc Datei als Mail

Verfasst: So, 20. Mär 2022 11:20
von Koverhage
Tom,
die Daten sollen nicht bearbeitet werden.
Hier geht es z.B. um Terminankündigungen.
Es gibt Word >Dokumente mit Textmarken, die ersetzt werden und eben anstatt gedruckt per Mail versendet werden sollen.

Re: Doc Datei als Mail

Verfasst: So, 20. Mär 2022 14:43
von Wolfgang Ciriack
Hallo Klaus,

ich würde das Dokument mit ActiveX öffnen, Textmarken ersetzen, gesamten Text markieren und dann als html oder nur Text speichern.
Hier mal als Beispiel ein Word Dokument öffnen und in PDF abspeichern.
Du müsstest natürlich abändern in nicht schreibgeschützt öffnen, Textmarken ersetzen ändern, dann als HTML speichern.

Code: Alles auswählen

#define wdFormatDocument                 0        // Microsoft Office Word format.
#define wdFormatDocument97               0        // Microsoft Word 97 document format.
#define wdFormatTemplate                 1        // Word template format.
#define wdFormatTemplate97               1        // Word 97 template format.
#define wdFormatText                     2        // Microsoft Windows text format.
#define wdFormatTextLineBreaks           3        // Windows text format with line breaks preserved.
#define wdFormatDOSText                  4        // Microsoft DOS text format.
#define wdFormatDOSTextLineBreaks        5        // Microsoft DOS text with line breaks preserved.
#define wdFormatRTF                      6        // Rich text format (RTF).
#define wdFormatEncodedText              7        // Encoded text format.
#define wdFormatUnicodeText              7        // Unicode text format.
#define wdFormatHTML                     8        // Standard HTML format.
#define wdFormatWebArchive               9        // Web archive format.
#define wdFormatFilteredHTML            10        // Filtered HTML format.
#define wdFormatXML                     11        // Extensible Markup Language (XML) format.
#define wdFormatXMLDocument             12        // XML document format.
#define wdFormatXMLDocumentMacroEnabled 13        // XML document format with macros enabled.
#define wdFormatXMLTemplate             14        // XML template format.
#define wdFormatXMLTemplateMacroEnabled 15        // XML template format with macros enabled.
#define wdFormatDocumentDefault         16        // Word default document file format. For Microsoft Office Word 2007, this is the DOCX format.
#define wdFormatPDF                     17        // PDF format.
#define wdFormatXPS                     18        // XPS format.

   if ValType(oWord := CreateObject('Word.Application')) == 'O'
         oWord:Visible := .F.
         ** Dokument schreibgeschützt öffnen, falls in Bearbeitung
         oWord:Documents:Open(Datei, .F., .T.)
         oDoc := oWord:ActiveDocument
         oDoc:Saveas(cSaveFile, wdFormatPDF)
         oDoc:Close()
         oWord:Quit()
         oDoc:Destroy()
         oWord:Destroy()
In deine Mail dann Text/Html einfügen:

Code: Alles auswählen

** nur Text:  oMail:encodeQuotedPrintable(Text, "text/plain")
** Html:  oContHtml := MimeContent():encodeQuotedPrintable(alltrim(TextHtml), "text/html") ; oMail:attachAlternative(oContHtml)

Re: Doc Datei als Mail

Verfasst: Mo, 21. Mär 2022 8:06
von Koverhage
Wolfgang,
so mache ich das ja bisher schon. Nur soll eben anstatt des Ausdrucks auf den Drucker das Dokument als E-Mail Text versendet werden.
Das Hatte ich ja in meinem Eingangspot schon geschrieben.

Re: Doc Datei als Mail

Verfasst: Mo, 21. Mär 2022 8:34
von azzo
Hallo Klaus,
vielleicht helfen dir meine Notizen?

Code: Alles auswählen


 wdSendToEmail  2 Send results to e-mail recipient.
 wdSendToFax   3  Send results to fax recipient.
 wdSendToNewDocument   0  Send results to a new Word document.
 wdSendToPrinter   1  Send results to a printer.
I resolved my problem:

"File block setting" setup in WINWORD was wrong.

Best regards,
Otto

--------------------------------------------------------------------------------

Re: wordtable.prg sample

Postby Otto » Sun Apr 28, 2013 9:02 am 

MAILMERGE

The next error:
Error description: Error Word.Application:ACTIVEDOCUMENT:MAILMERGE/3 DISP_E_MEMBERNOTFOUND: EXECUTE
I resolved by changing the registry key:

HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Word\Options 
"SQLSecurityCheck" = dword: 000000001.Registrierungs-Editor starten.




function mailsend(oBrw)
   LOCAL cLetter   := ""
   LOCAL oWord
   LOCAL cAppPath   :=""
   LOCAL oDoc

   cAppPath   := cFilePath( GetModuleFileName( GetInstance( ) ) )
   cLetter    := ALLTRIM(cAppPath +  oBrw:aArrayData[oBrw:nArrayAt,1])
   msginfo(cLetter)
   oWord := CREATEOBJECT( "Word.Application" )

   IF FILE(cLetter)
      oDoc := oWord:Documents:Open( cLetter )
      oWord:Visible = .T.

      oDoc:MailMerge:MainDocumentType:=0        //wdFormLetters=0  // sets the mail merge main document type

      //.OpenDataSource Name:=cDatenQuelle

      oDoc:MailMerge:EditMainDocument()
      // oDoc:MailMerge:Destination:=2                    //wdSendToEmail = 2   //See Word Enumerated Constants: http://msdn.microsoft.com/en-us/library/aa211923.aspx
      oDoc:MailMerge:SuppressBlankLines:=.T.
      oDoc:MailMerge:DataSource:FirstRecord:=1  //wdDefaultFirstRecord = 1
      oDoc:MailMerge:DataSource:LastRecord:=-16 //wdDefaultLastRecord = -16
      // oDoc:MailMerge:MailAddressFieldName = "EMAIL"
      //  oDoc:MailMerge:MailSubject = "Email sent at: "+TIME()
      oWord:ActiveDocument:MailMerge:Execute(.T.) // Pause:=False
      //oDoc:Close( 0 )
   ENDIF
   //oWord:Quit()

return nil




Re: Doc Datei als Mail

Verfasst: Mo, 21. Mär 2022 14:57
von Wolfgang Ciriack
In meiner "Anregung" steht ja nichts von Drucken.
Ich dachte, du hast sowieso schon eine Routine zum Mail versenden.
Bei der XBase 2.0 sind ja Beispiele zum Mailversand mit dabei.
Ansonsten gibts ja auch die Möglichkeit, das ganze z.B. an Outlook zu übergeben.

Re: Doc Datei als Mail

Verfasst: Mo, 21. Mär 2022 17:30
von Koverhage
Wolfgang,
wie in meinem Eingangspost, gibt es diese Option bei der Activex Schnittstelle.

Options.SendMailAttach = True // True als Anhang, False als Nachrichtentext
ActiveDocument.SendMail

Normalerweise passiert folgendes
oDoc:printout
jetzt soll
oDoc:Sendmail
hinzukommen.
Mein einziges Problem ist:
Wie oder wo gebe ich die E-Mail Adresse des Empfängers an ?

Re: Doc Datei als Mail

Verfasst: Mo, 21. Mär 2022 17:45
von HaPe

Re: Doc Datei als Mail

Verfasst: Di, 22. Mär 2022 13:10
von Koverhage
Hallo HaPe,
danke. werde ich probieren.

Re: Doc Datei als Mail

Verfasst: Di, 22. Mär 2022 17:11
von azzo
Hallo Klaus,
ich habe mir meine Funktion zum E-Mail-Versands nochmals besser angeschaut und überarbeitet.
Der Versand funktioniert mit dieser Funktion.

Ich öffne eine DOCX Datei und speichere diese als HTML ab. Dann erstelle ich ein neues Outlook E-Mail und lese die HTML Datei mit memoread und fülle den HTMLBody damit.
Im DOCX, wenn du Tabellen verwendest, solltest du mit Prozent arbeiten, damit die HTML E-Mail auch am Handy gut aussieht.

LG
Otto

Bild

Re: Doc Datei als Mail

Verfasst: Di, 22. Mär 2022 17:29
von Koverhage
Otto,
Danke.