三流君 ken3のmemo置き場

三流プログラマーのメモ書きです。主にVBAやWindowsの話題が多いです

挨拶・自己紹介:「こんな感じ」や「あの、あの」と活舌の悪い、
三流プログラマーのオッサンです

当ブログではGoogle AdSenseおよび各種アフィリエイトプログラムを利用して広告を配信しています。

ExcelからOutlook HTMLMail作成 WordEditor時 末尾にデータを追加したい時 カーソル移動のテスト

Set sel = ol.ActiveInspector.WordEditor.Windows(1).Selection
.WordEditorで編集
Wordの世界(世界はいいすぎか、Object操作なので、)
.Bookmarks("\EndOfDoc").Select
この一行を組み込むとよいのでは?

下記、いつもの あのあの 解説動画です。
youtu.be
https://youtu.be/d072OmUXJpY
目次
00:00 やりたいこと、現在の状態
01:30 カーソル移動のテスト
03:03 蛇足解説 先頭にカーソル移動
04:09 F8ステップ実行でデバッグ

知恵袋の質問
detail.chiebukuro.yahoo.co.jp
に回答しました。
※回答後、むずかしく、カーソル移動を使ってしまったことを反省。
 シンプルに質問・問題点を考えて、改善策を回答しないとなぁ・・・


google:Word vba カーソル最終
で検索すると
www.relief.jp
https://www.relief.jp/docs/word-vba-select-end-of-document.html
より

ActiveDocument.Bookmarks("\EndOfDoc").Select

この一行を組み込むとよいのでは?

ポイント、WordのObject操作なので、
Word vba XXXXX で検索して使用する

Sub メール作成0913テスト()
    Dim MinRow, MaxRow, MaxRow_2, i As Long
    Dim ws, Summary_ws As Worksheet
    
    '送信先アドレスを取得
    Dim Mail_to, Mail_cc As String
    Dim ol As Object, mail As Object, sel As Object
    
    Set ol = CreateObject("Outlook.Application")
    Set mail = ol.CreateItem(0)
    
    mail.Display
    'ol.ActiveInspector.WindowState = 1
    
    mail.Subject = "【ご連絡】社内承認状況について"
    mail.BodyFormat = 2
    
    Set sel = ol.ActiveInspector.WordEditor.Windows(1).Selection
    
    sel.TypeText "該当事業部 管理者 各位" & vbCrLf
    sel.TypeText "(対象者がいない管理者にも送信していますこと、ご容赦ください)" & vbCrLf & vbCrLf
    '★★文字の一部を赤太字にする★★
    mail.HTMLBody = "<HTML><BODY>本日" & Format(Date, "m/d") & "(" & Left(WeekdayName(Weekday(Date)), 1) & ")" & "が" & "<font color=""#FF0000"">今月度の締め日</font>" & "となります。<br>今朝の時点で" & "<font color=""#FF0000"">未投入/未承認</font>" & "がありますので、本日中に承認まで完了するよう至急対応をお願いします。</BODY></HTML>"
    
    'word vba カーソル最終
    'で検索すると
    ' https://www.relief.jp/docs/word-vba-select-end-of-document.html
    ' より ActiveDocument.Bookmarks("\EndOfDoc").Select

    'カーソルを移動
    'Set sel = ol.ActiveInspector.WordEditor.Windows(1).Selection
    '↑は、.Selectionにしているので、そのままで、
    'ol.ActiveInspector.WordEditor.Documentなので、

    ol.ActiveInspector.WordEditor.Bookmarks("\EndOfDoc").Select
    '↑でカーソル移動 ※コメント長いけど、たった一行のコード

    sel.TypeText vbCrLf & "後ろに文字追加" & vbCrLf & vbCrLf
    
End Sub

コードをアレンジして、使ってみてください。
解決のヒントとなれば幸いです。



ken3memo.hatenablog.com

ken3memo.hatenablog.com


質問・感想・クレームなど、
気軽にコメント欄に書いてもらえるとうれしいです。

当ブログではGoogle AdSenseおよび各種アフィリエイトプログラムを利用して広告を配信しています。


フッター:最後にKen3Videoの動画一覧を紹介します

YouTubeにアップした動画です。他の動画を一瞬でも見てもらえるとさらに嬉しいです。
再生リスト:[三流君Ken3の最新動画]←リストの一覧形式で表示する


また、ブログを見に来てくださいね。ではまたぁ~