से प्रारूपित कमल नोट्स समृद्ध टेक्स्ट ईमेल भेजना मेरे पास कम कमल स्क्रिप्ट या नोट्स/डोमिनोज़ ज्ञान है लेकिन मेरे पास एक प्रक्रिया है, जो बहुत समय पहले कहीं से कॉपी की गई थी, जो मुझे वीबीए से नोट्स के माध्यम से ईमेल करने की अनुमति देती है। मैं आमतौर पर केवल आंतरिक सूचनाओं के लिए इसका उपयोग करता हूं जहां प्रारूपण वास्तव में महत्वपूर्ण नहीं है।एक्सेल वीबीए
अब मैं क्लाइंट को बाहरी ईमेल भेजने के लिए इसका उपयोग करना चाहता हूं, और कॉर्पोरेट प्रकारों की बजाय ईमेल हमारी शैली मार्गदर्शिका (मूल रूप से एक सैन्स-सेरिफ़ टाइपफेस) के साथ अनुपालन करेगा।
मैं उन्हें बताने वाला था कि कोड केवल सादा पाठ के साथ काम करता है, लेकिन फिर मैंने देखा कि दिनचर्या कुछ प्रकार के CREATERICHTEXTITEM ऑब्जेक्ट को संदर्भित करता है। क्या इसका मतलब है कि के बाद मैं बॉडी टेक्स्ट स्ट्रिंग पर कुछ प्रकार के स्वरूपण को लागू कर सकता हूं, इसे मेल रूटीन में भेज दिया गया है? साथ ही साथ हमारे बहुमूल्य ब्रांड मूल्यों को कायम रखने के लिए, यह ईमेल में कुछ अनुच्छेदों को हाइलाइट करने के लिए मेरे लिए काफी आसान होगा।
मैं के बारे में खुदाई लिया है 'शुद्ध देखने के लिए कि इस कोड को अनुकूलित किया जा सकता है, लेकिन नोट्स से अपरिचित होने' ऑब्जेक्ट मॉडल, और तथ्य यह है कि ऑनलाइन नोट्स संसाधनों आवेदन की अपनी जड़ता को प्रतिबिंबित करने लगते हैं, मतलब मैं नहीं था बहुत दूर नहीं है।
कोड:
Sub sendEmail(EmailSubject As String, EMailSendTo As String, EMailBody As String, MailServer as String) Dim objNotesSession As Object Dim objNotesMailFile As Object Dim objNotesDocument As Object Dim objNotesField As Object Dim sendmail As Boolean 'added for integration into reporting tool Dim dbString As String dbString = "mail\" & Application.UserName & ".nsf" On Error GoTo SendMailError 'Establish Connection to Notes Set objNotesSession = CreateObject("Notes.NotesSession") On Error Resume Next 'Establish Connection to Mail File Set objNotesMailFile = objNotesSession.GETDATABASE(MailServer, dbString) 'Open Mail objNotesMailFile.OPENMAIL On Error GoTo 0 'Create New Memo Set objNotesDocument = objNotesMailFile.createdocument Dim oWorkSpace As Object, oUIdoc As Object Set oWorkSpace = CreateObject("Notes.NotesUIWorkspace") Set oUIdoc = oWorkSpace.CurrentDocument 'Create 'Subject Field' Set objNotesField = objNotesDocument.APPENDITEMVALUE("Subject", EmailSubject) 'Create 'Send To' Field Set objNotesField = objNotesDocument.APPENDITEMVALUE("SendTo", EMailSendTo) 'Create 'Copy To' Field Set objNotesField = objNotesDocument.APPENDITEMVALUE("CopyTo", EMailCCTo) 'Create 'Blind Copy To' Field Set objNotesField = objNotesDocument.APPENDITEMVALUE("BlindCopyTo", EMailBCCTo) 'Create 'Body' of memo Set objNotesField = objNotesDocument.CREATERICHTEXTITEM("Body") With objNotesField .APPENDTEXT emailBody .ADDNEWLINE 1 End With 'Send the e-mail Call objNotesDocument.Save(True, False, False) objNotesDocument.SaveMessageOnSend = True 'objNotesDocument.Save objNotesDocument.Send (0) 'Release storage Set objNotesSession = Nothing Set objNotesMailFile = Nothing Set objNotesDocument = Nothing Set objNotesField = Nothing 'Set return code sendmail = True Exit Sub SendMailError: Dim Msg Msg = "Error # " & Str(Err.Number) & " was generated by " _ & Err.Source & Chr(13) & Err.Description MsgBox Msg, , "Error", Err.HelpFile, Err.HelpContext sendmail = False End Sub
धन्यवाद, यह उतना ही आसान लगता है जितना मैंने कल्पना की थी! मैंने अपने प्रोजेक्ट में अपना कोड एकीकृत करने की कोशिश की, लेकिन प्रत्येक कमल नोट्स लाइब्रेरी में संदर्भ जोड़ने के बाद भी मैं समस्याओं में भाग रहा हूं।मुख्य रूप से, मुझे नहीं लगता कि नोट्सस्ट्रीम COM के माध्यम से उपलब्ध है, जो कि पूरी तरह से किबोश डालता है। – Lunatik
मैंने सहायता फ़ाइल की जांच की: इसमें कोई उल्लेख नहीं है कि स्ट्रीम COM में समर्थित नहीं है, इसलिए इसे काम करना चाहिए। आप धोखा दे सकते हैं: सादे एचटीएमएल को फ़ील्ड में स्टोर करें और फिर उस पर लोटसस्क्रिप्ट एजेंट को कॉल करें जो आपके लिए रूपांतरण करता है। – stwissel