LibreOffice Calc Basic(2)一鍵發gmail郵件

 3,695 total views,  4 views today

今天的情境是每個月都要花時間做報表,接著打開gmail,附加檔案傳送出去,這一連串重復的動作,難道沒有更方便的方法嗎? 有的,巨集可以做到先產生一個【按鈕】接下來,左鍵點一下就自動幫你完成這些事情了。

範例檔案下載:

  LibreOfficeCalc範例2 (2.4 KiB, 304 hits)


首先打開LibreOffice Calc,我們要開啟【表單控制項】【表單設計】這兩個視窗,首先到檢視->工具列 將上述這兩個打勾。

在【表單控制項】推動按鈕,點擊滑鼠左鍵一下,接著在工作表一,拖拉出一個【按鈕】

首先要建立程式模組,在工具->巨集->組織巨集->LibreOffice Basic功能

打開Calc Basic巨集視窗後,記得要找到你的 odt 檔案名稱,並在 Standard 裡面建立模組,名稱通常是 Moudule1 。

按下確定後,就會打開 basic編輯視窗,貼上下列程式碼

Option VBASupport 1

Sub Main
SendMail= CreateObject("CDO.Message")
ConfURL =  "http://schemas.microsoft.com/cdo/configuration/"

With SendMail.Configuration.Fields
        .Item( ConfURL & "smtpusessl" ) = true
        .Item( ConfURL & "smtpauthenticate" ) = 1
        .Item( ConfURL & "smtpserver" ) = "smtp.gmail.com"
        .Item( ConfURL & "smtpserverport" ) = 465
        .Item( ConfURL & "sendusing" ) = 2
        .Item( ConfURL & "sendusername" ) = "[email protected]"
        .Item( ConfURL & "sendpassword" ) =  "mail password"
        .Update
End With

With SendMail
  .Subject = "LibreOffice Calc 巨集發信測試"
  .From = "發信者電子郵件"
  .To = "收件者電子郵件"
  .HTMLBody = "LibreOffice Calc 巨集發信測試"
  .Send
End With

SendMail = nothing
End Sub

 

相關的設定,要自行修改,例如發信者信箱、密碼,收件人電子郵件等等。

接下來,在【推動按鈕】按下滑鼠右鍵,選擇【控制項】,就會打開屬性視窗。屬性視窗的頁籤選【動作】->執行動作

在執行動作三個小點,按下滑鼠左鍵,會彈出指派動作,在(2)的地方點擊滑鼠左鍵兩下開啟巨集選擇器

同樣要注意的是,要選擇 你自己的 ods 裡面的函式庫,否則可能搬去別台電腦就會功能失效了。

按下確定後,就可以看到指派動作有變成我們所設定的函式。

最後有一個地方,很容易搞不太懂,因為在excel 並不需要特別設定表單控制,是在編輯模式或是設計模式,這個功能有好有壞,主要是習慣問題而已。

上述動作做完記得要在【表單視窗】取消設計模式,否則按下【推動按鈕】,會沒有反應的。

接下來就是見證奇蹟的時刻,登入你的gmail去收信,正常來說就會收到calc basic發出的email了,至於怎麼附加檔案…….以後有時間再說了,或是你google一下會有教學的。

發表迴響

%d 位部落客按了讚: