【问题标题】:Automating Lotus Notes Text Style with perl?使用 perl 自动化 Lotus Notes 文本样式?
【发布时间】:2011-07-27 13:04:04
【问题描述】:

我正在尝试自动发送带有嵌入式附件和一些实现 HTML 代码的文本的电子邮件,但我使用的代码似乎不允许我创建 HTML 粗体文本或无序列表。为了仔细检查,我在 vba 中创建了代码,然后通过 vba 到 perl 转换器将它传递给它,它与我写的内容相匹配。这是我的脚本中处理在电子邮件中创建文本和嵌入附件的部分:

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');

我收到此错误:

$richStyle->{'PassThruHTML'} = 1 行不是 HASH 引用;

这段代码的主要目的是让我可以在电子邮件中使用 HTML 标签

【问题讨论】:

  • 错误发生在哪一行?我想知道“EMBED_ATTACHMENT”在 Perl 中是否有任何含义?在 LotusScript 中它表示整数 1454,所以如果您认为这是一个问题,请改用该数字?
  • 它在 $richstyle{'PassThruHTML'} 行我忘了说明

标签: perl lotus-notes ole


【解决方案1】:

我的最佳猜测:

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

来自设计师的帮助:

Set notesRichTextStyle = notesSession.CreateRichTextStyle( )

您需要使用会话创建 notesRichTextStyle。

【讨论】:

  • 好的,所以我这样做了,它停止给我错误,但它确实做了我想做的事情,即使用 HTML 标签
  • 我不明白你的评论。现在有什么问题?
  • 好吧,这段代码的最初目的是在电子邮件中嵌入 HTML 代码,尽管创建没有错误编译的富文本样式并没有做它应该做的事情
  • 考虑这种codestore.net/store.nsf/unid/BLOG-20091022-0419 方法(代码库)
  • 为了简单起见,我建议用 html 构建完整的电子邮件(如文章中所述),或者坚持使用富文本格式(notesRichTextStyle.Bold 使内容加粗)
【解决方案2】:

我猜你想创建一个 HTML 邮件? 在这种情况下,最好使用 MIME 实体类来生成原生 HTML 邮件,而不是依赖 NotesRichText 到 HTML 的转换。

您可以在 Designer 帮助中找到有关 MIME 实体的更多信息:http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp?topic=/com.ibm.designer.domino.main.doc/H_NOTESMIMEENTITY_CLASS_OVERVIEW.html

【讨论】:

    【解决方案3】:
    $ 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 返回什么都不喜欢 -&gt;{...} 所以可能使用 -&gt;SetProperty... 或其他东西:/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多