三流君 ken3のmemo置き場

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

挨拶・自己紹介:
失敗続きのAB型の変わり者 :三流プログラマー Ken3です
フリーのエンジニア・個人事業主です・・と書くと聞こえはイイが(それとなくカッコよく聞こえるが)、 現在は小さな案件の受注請負 と 短期派遣 で 日々つつましく?ほそぼそと暮らしてます。

よく検索されるキーワード: [質問回答XXXXさんへ] [CreateObject] [VBA] [JRA競馬オッズ]

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

Ken3 ホームページ 目次

分類:HPを大きく分けると4つの柱(分類)です。

  1. [VBA・マクロ プログラミング]の解説
    当店の人気はVBA系のCreateObject("XXXXXX.application")で他のアプリケーションを操作するサンプルが人気です
  2. [プログラマーの愚痴]では、あまり見せたくない三流プログラマーの内面かな。
    三流君を踏み台にする
  3. [古いクラシック ASP(Active Server Pages)]の解説。
  4. [元コンビニ店長時代の話]が弟に巻き込まれ、失敗した脱サラ、畑違い?の仕事で失敗。
主に上記4つの分類でHP作成やメルマガの発行を行ってます。
※更新頻度が落ちていて情報の鮮度が悪いです。



本当に三流なんです(笑):たまにスゴイですねなんて言われることもありますが、
真実は→ [三流君の真実は...] ←を初めに見てくださるとわかると思います。
(からくりは、成功例↑しか載せてなくて ヒドイ失敗例はお蔵入り迷宮入りが多かったりします)