2011-07-27 48 views
0

我試圖自動發送帶有嵌入式附件的電子郵件和一些實現HTML代碼的文本,但似乎我使用的代碼不允許我創建HTML粗體文本或無序列表。爲了仔細檢查,我在vba中創建了代碼,然後通過vba將它傳遞給perl轉換器,並與我寫的內容匹配。這裏是我的腳本處理創建在電子郵件中的文本和嵌入附件的一部分:使用perl自動化Lotus Notes文本樣式?

my $richStyle = $Document->NotesRichTextStyle(); 
$richStyle->{'PassThruHTML'} = 1; 

my $Body = $Document->CreateRichTextItem('Body'); 

$Body->AppendText(">>EOT"); 
$Body->AppendStyle($richStyle); 
**$Body->AppendText("<b>HELLO</b>");** 
$Body->EmbedObject(EMBED_ATTACHMENT,'','$filename','$name'); 

我得到這個錯誤:

Not a HASH reference at line $richStyle->{'PassThruHTML'} = 1;

這段代碼的主要觀點是,這樣我可以使用電子郵件中的HTML標籤

+0

在該行的錯誤發生?我想知道這個「EMBED_ATTACHMENT」在Perl中有什麼含義?在LotusScript中,它表示整數1454,所以如果您認爲這是一個問題,請使用該數字? –

+0

其對$ richstyle {'PassThruHTML'}行sry我忘記說, – Shahab

回答

1

我最好的猜測:

my $richStyle = $Document->NotesRichTextStyle(); 

從設計師的幫助:

​​

您需要創建使用該會話的notesRichTextStyle。

+0

好吧,所以我做到了這一點,它停止給我的錯誤,但它做了我想做的事情,這是使用HTML 標籤 – Shahab

+0

我不明白你的意見。現在有什麼問題? –

+0

以及此代碼的最初目的是在電子郵件中嵌入HTML代碼,儘管創建編譯時沒有錯誤的富文本樣式,但它沒有執行它應該的操作 – Shahab

0
$ perl -Mdiagnostics -e " []->{1}=2 " 
Not a HASH reference at -e line 1 (#1) 
    (F) Perl was trying to evaluate a reference to a hash value, but found a 
    reference to something else instead. You can use the ref() function to 
    find out what kind of ref it really was. See perlref. 

Uncaught exception from user code: 
     Not a HASH reference at -e line 1. 
at -e line 1 

所以無論NotesRichTextStyle回報不喜歡->{...}所以也許使用->SetProperty...或別的東西:/