重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

IBM Notes9のメールをExcelVBAにて送信するコードについての質問です。

以下のコードを実行すると、「実行時エラー13 型が一致しません。」とのエラーが出ます。

以下、コード
Sub ※※()
Dim wknses As Object
Dim wkndb As Object
Dim wkndoc As Object
Dim wknrtitem As Object
Dim style As Object

Set wknses = CreateObject("notes.notesession")
Set wkndb = wknses.getdatabase(" "," ")
wkndb.openmail

Set wkndoc = wkndb.CreateDocument()
wkndoc.subject = "※※"
wkndoc.sendto = Array(※※)

Set wknrtitem = wkndoc.createrichtextitem("body")
Set style = wknses.CreateRichTextStyle("body")
style.NotesFont = wknrtitem.GetNotesFont("Times",True) ←ここでエラー

With wknrtitem
.AppendStyle style
.AppendText "※※"
End With

wkndoc.Save False,False

End Sub

以上は抜粋ですが、エラー文はinteger型で一致してると思い、原因と修正案が分からない状況です。

よろしくお願いします。

A 回答 (3件)

>OSはWindowsです "Times"はMacなのでダメですね



参考フォントリスト

Windows 11 font list
https://learn.microsoft.com/en-us/typography/fon …

Windows 10 font list
https://learn.microsoft.com/en-us/typography/fon …

https://mimi.moe.in/nmp/fonts/allfonts

リストに在っても

エージェントが実行されている
プラットフォーム上で有効な名前でなければ ダメとあります

他のアプリケーション連携や環境に影響を受ける場合
OSの詳細、アプリケーションの詳細、などなど示さないとたどり着くのが難しくなります

最後に気になった点
リファレンスでは
NotesRichTextItem  に対して CreateRichTextItem
事前バインディング  に対して 実行時バインディング
    • good
    • 0
この回答へのお礼

ご指摘をいただき、ありがとうございます。

質問内容のフォントにTimesを記載したことで誤解が生じてしまったようです。
実際には、Notes上のメールで使用できる「HGSゴシックM」などを指定し、エラーが出ています。

以下のサイトにあるように、フォントの影響ではないように考えております。
http://domino.webserve.ne.jp/webserve/notesqa.ns …

いろいろとありがとうございます。

お礼日時:2023/06/24 09:23

OSはMacでよろしかったでしょうか・・


確かに出来上がりのサンプルや情報が少ないようですね

ご存知の部分を列挙するような事になると思いますが

問題のエラー13ですが 左辺の型に右辺の型が合っていないと言う解釈ですが その中に 右辺にエラーが返っている場合も含まれます

ですので右辺 wknrtitem.GetNotesFont("Times",True) で取得している値 
Integer型 指定フォントに関連付けられている 5 から 254の IDまたは 0
が取得できているかを確認してみてください

取得できていない場合
wknrtitem as NotesRichTextItem なのか
"Times"が使用可のなのか などを調べる必要が出て来ますね

情報が少ないのでエディター機能をフル活用する
(オブジェクトが正しいか、メソッド、プロパティ候補などを確認する)為にも 

事前バインディングして作成されるのが良いと思います

興味本位に調べ回答しましたが、
経験が無く、環境のない私にはこの辺りが限界ですね  ご健闘を祈ります
    • good
    • 0
この回答へのお礼

度々ご回答いただき、ありがとうございました。

OSはWindowsであり、フォントは他のものを指定してもエラーが出る状況です。

http://domino.webserve.ne.jp/webserve/notesqa.ns …
上のサイトでも同じ疑問が提示されていますが、解決に至っていないようでした。

今後いろいろと試してみたいと思います。

ご教授いただき、ありがとうございました。

お礼日時:2023/06/23 06:32

Timesと言う事はMacかな



MacもIBM Notes9も全く分からないけれど 少し調べたので参考程度で

https://www.bcom.co.jp/help/help8_designer.nsf/b …
の内容から

Set wknrtitem = wkndoc.createrichtextitem("body")
Set style = wknses.CreateRichTextStyle
style.NotesFont = wknrtitem.GetNotesFont("Times",True)
Call wknrtitem.AppendStyle(style)

とかになるのではないでしょうか
また、
https://www.bcom.co.jp/help/help8_designer.nsf/f …
の情報から
>>エージェントが実行されているプラットフォーム上で有効な名前でなければなりません。
との事ですね
    • good
    • 0
この回答へのお礼

調べていただき、ありがとうございます。
こちらでもいろいろ検索はしているのですが、Notes用のVBAの参考例が少なく解法が見つからない状況です。
書いていただいた「style.NotesFont = wknrtitem.GetNotesFont("Times",True) 」の部分がやはり型が一致しないというエラーになってしまうようです。

お礼日時:2023/06/22 07:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!