Word VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


42 / 45 ページ ←次へ | 前へ→

【69】Word終了時にマクロを実行
質問  オックン  - 03/11/29(土) 11:18 -

引用なし
パスワード
   いつも参考にさせていただいています。
Word質問箱には初めて投稿させていただきます。

Word(特定ファイル)を閉じるときに、
別プログラムを起動するマクロを実行したいのです。

Excelだとauto_closeで、
実行できているのですが、
Wordだと勝手が違うのですか?

初心者的な質問かもしれませんが、
回答のほうをよろしくお願いします。
・ツリー全体表示

【68】Re:フッダーの頁について
回答  H. C. Shinopy  - 03/10/24(金) 21:55 -

引用なし
パスワード
   手作業ですか?
私が知っている方法は以下の通りです。

作業前に、メニューバーの[ツール]から[オプション]を選び、[表示]タブの「編集記号の表示」にある[すべて]チェックボックスをオンにしておく。
(以下の作業でセクション区切りを挿入した所に「セクション区切り・・・」が透かし表示されるので迷わなくて済むため。)

1.各ページにセクション区切りを挿入しておく。(これは、メニューバーの[挿入]から[改ページ…]を選び、「セクション区切り」の[次のページから開始]ラジオボタンを選んで、[OK]を押すことです。
説明上「各ページ」としましたが、御質問の場合、5ページ目の最終行の右端に挿入することになるでしょう。)

2.前のページと違う設定をしたい「フッター」領域にカーソルを移動し、メニューバーの[表示]から[ヘッダーとフッター]をクリックすると、「ヘッダーとフッター」ツールバーが表示される。

3.「ヘッダーとフッター」ツールバーの[前と同じ]ボタンをクリックしオフにして、
フッターを編集する。(御質問の場合、ページ番号を削除します。)

4.「ヘッダーとフッター」ツールバーの[閉じる]ボタンをクリックすると、
そのページ以降が前ページと異なるフッターの設定になる。
[End]
・ツリー全体表示

【67】フッダーの頁について
発言   E-MAIL  - 03/10/18(土) 9:19 -

引用なし
パスワード
   フッダーに頁番号を
うちたいのですが。
ワードで10頁程文章を作成しましたが
頁番号を打ちたいのは
前から5頁までで
それ以降は番号はいらないとき
どうすればよいのでしょうか。
何か章を分けるみたいですが。
・ツリー全体表示

【66】Re:現在、選択しているWordの表を、全て選択...
お礼  ピクルス  - 03/9/11(木) 17:44 -

引用なし
パスワード
   地風&火さん、ご返答ありがとうございました。
すみません、SelectionとActiveDocumentによって、表の扱いが変わってくる事を
知りませんでした…初心者でお恥ずかしい限りです。
お陰様で、目的が達成できました。
ありがとうございました!
・ツリー全体表示

【65】Re:現在、選択しているWordの表を、全て選択...
回答  地風&火  - 03/9/9(火) 15:14 -

引用なし
パスワード
   ▼ピクルス さん:
>はじめまして、ピクルスと申します。
>皆様のお力添えを、何とぞよろしくお願い致します。
>実は、Word上で、カーソルがある表を全て選択するVBAを作成しているのですが、
>動作してくれません。
>表に関してはRowIndex等のIndex番号取得プロパティが見当たらず、Bookmarksを付けて
>みようとも試みましたが、どうしてもダメでした。
>能力不足で誠にお恥ずかしい限りですが、ご教授下さいますよう、お願い申し上げます。

こういうことですか?
Selection.Tables(1).Range.Select
・ツリー全体表示

【64】現在、選択しているWordの表を、全て選択す...
質問  ピクルス  - 03/9/8(月) 17:15 -

引用なし
パスワード
   はじめまして、ピクルスと申します。
皆様のお力添えを、何とぞよろしくお願い致します。
実は、Word上で、カーソルがある表を全て選択するVBAを作成しているのですが、
動作してくれません。
表に関してはRowIndex等のIndex番号取得プロパティが見当たらず、Bookmarksを付けて
みようとも試みましたが、どうしてもダメでした。
能力不足で誠にお恥ずかしい限りですが、ご教授下さいますよう、お願い申し上げます。
・ツリー全体表示

【63】Re:WORDで今日の日付をヘッダーに自動表示さ...
お礼  あっち E-MAIL  - 03/7/10(木) 21:30 -

引用なし
パスワード
   有り難うございます
早速試してみます

なんとなく、理解できました
Excelだったらこうなのに・・・から脱出がすこしあって
戸惑いもありますが、がんばって見ます

又くるかもしれません
・ツリー全体表示

【62】Re:WORDで今日の日付をヘッダーに自動表示さ...
回答  H. C. Shinopy E-MAIL  - 03/7/10(木) 21:06 -

引用なし
パスワード
   お話しの件は、日記のようなものでしょうか?
次の条件で以下のようなマクロになります。

1.日付を文書の右側に書き込むとします。
(Wordのヘッダー・フッターには、
Excelのような左側・中央部・右側はありませんので、
タブで区切って間に合わせます。)

2.ファイル名を日付にして(ここでは「C:…\date\日付」とします)、
そのまま、ファイルを保存するものとします。
処理後に、何も本文に書き込まず終了してもファイルは残ります。

3.続けて2度実行すると、
ヘッダーの内容が二重になった上でファイル保存になります。
(対策は別途考えて頂ければと存じます。)


Sub DiaryFile()
 Dim myDate As String
 Dim myFolder As String
 Dim myFileName As String
 ' 保存先フォルダの設定
 myFolder = "C:\Documents and Settings\User\My Documents"
 ' ヘッダーへの書き込み
 ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
 myDate = Format(Now(), "Long Date")
 Selection.TypeText Text:=vbTab & vbTab & myDate
 ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
 ' 日付をファイル名用に小細工
 myDate = Replace(Format(myDate, "yyyy/MM/dd"), "/", "")
 ' ファイルを保存
 ActiveDocument.SaveAs FileName:=myFolder & "\date" & myDate
End Sub
・ツリー全体表示

【61】WORDで今日の日付をヘッダーに自動表示させ...
質問  あっち E-MAIL  - 03/7/5(土) 11:58 -

引用なし
パスワード
   実はドクターシンプラーなのですが、
テンプレート作成して、ヘッダーに日付表示をさせ、
その日付でファイルの保存のマクロを組み、ボタンでツールバーに
入れたいのですが
可能でしょうか?
Excelのマクロはなんとか作れるのですが、WORDだと
ヘッダーになんと入れればよいのか、ここも、マクロを書くのか
Excelでは、考えられるのですが
いまいち想像が付きません
どなたか教えて頂けますか
・ツリー全体表示

【60】Re:画像の貼り付けについて
発言  らいでん  - 03/6/7(土) 1:07 -

引用なし
パスワード
   ▼奥山 さんへ:
投稿先を間違われたのでしょうか?
ここVBA掲示板なのです。
では。
・ツリー全体表示

【59】Re:WORDマクロの解説本について教えてくださ...
回答  H. C. Shinopy  - 03/6/6(金) 22:38 -

引用なし
パスワード
   西上原裕明 著「Wordで実践! 編集レイアウトの基本と本格テクニック」
 技術評論社 価格2780円+税
 (第11章 Wordマクロ超入門 文字列検索、オートシェイプのコピーの記事)

[以上]
・ツリー全体表示

【58】画像の貼り付けについて
質問  奥山  - 03/6/5(木) 13:45 -

引用なし
パスワード
   初歩的な質問ですいません。
ワードにjpg形式のデジカメの写真を貼り付けると容量が大きくなりすぎて困ってます。
(一つの文書に写真は、約30枚はりつけます。)
容量を小さくして貼り付ける方法はあるのでしょうか?
・ツリー全体表示

【57】Re:ユーザーフォームにカラーパレットを
お礼  WhiteRabbit  - 03/5/24(土) 19:24 -

引用なし
パスワード
   こんばんは。返答が遅くなりました。
API関数を使ったカラーパレット表示でうまくいきそうです。
なかなか理解は難しいですがご紹介のサイトの情報を元に勉強していきたいと思います。

回答をいただいたみなさん、ありがとうございました。
・ツリー全体表示

【56】Re:Wordのウィンドウを整列させる 追加情報
お礼  WhiteRabbit  - 03/5/24(土) 19:21 -

引用なし
パスワード
   こんばんは、H. C. Shinopyさん、情報をありがとうございます。
MSサイトにも使えそうなVBAのサンプルがあるんですね。
早く検索してみるべきでした。
これだと画面がばたばたせずに並び替えできそうです。WINDOWオブジェクトの操作を勉強してみます。

しかし今回は他にShellアプリケーションを使う方法を教えていただいて勉強になりました。
いろいろ使えそうですから、収穫は大きかったですよ。(^^)

今後もよろしくお願いします。

▼H. C. Shinopy さん:
>マイクロソフトのサイトを見ていたら、
>何と! そのものズバリの記事が載っていました。
>文書ウインドウのサイズを気難しく計算して、
>左右に整列していました。
>
>『開いている文書ウィンドウを左右に整列させる方法』
>http://www.microsoft.com/japan/support/kb/articles/413/8/63.asp
>
>記事によれば、使用条件は次の通り。
>誠にお疲れ様でした。(辛い! 涙・涙…)
・ツリー全体表示

【54】Re:Wordのウィンドウを整列させる 追加情報
回答  H. C. Shinopy  - 03/5/23(金) 21:18 -

引用なし
パスワード
   マイクロソフトのサイトを見ていたら、
何と! そのものズバリの記事が載っていました。
文書ウインドウのサイズを気難しく計算して、
左右に整列していました。

『開いている文書ウィンドウを左右に整列させる方法』
http://www.microsoft.com/japan/support/kb/articles/413/8/63.asp

記事によれば、使用条件は次の通り。
誠にお疲れ様でした。(辛い! 涙・涙…)
以下、サイトから一部を引用。

マイクロソフト サポート技術情報 - 413863
開いている文書ウィンドウを左右に整列させる方法
この資料は以下の製品について記述したものです。
Microsoft Word 2000 for Windows

現象
Wordでは、開いている文書ウィンドウを上下に
整列する機能は用意していますが、
左右に整列する機能は用意されていません。…
左右にウィンドウを整列させるマクロを紹介します。

注意
開いている文書ウィンドウの数や
アプリケーションウィンドウのサイズにより、
右端に表示される文書ウィンドウが文書ウィンドウを
表示する範囲より多少ずれてしまう場合があります。
[終わり]
・ツリー全体表示

【53】Re:Wordのウィンドウを整列させる
回答  H. C. Shinopy  - 03/5/22(木) 8:56 -

引用なし
パスワード
   当方の環境では、不具合は再現されず、お役に立てそうにありません。
取り敢えず、下記の通り現在の結論を掲示しておきます。

1.時間待ちについて
「純正Word VBA」とShellアプリケーションの連携で
時間待ちが必要とすれば…
(画面が落ち着きなく動いているのを見ると、確かに言えます。)
WhiteRabbitさんのマクロは的を得ていると思います。

2.恐縮ながら「Windows.Arrange」を再登場させました。
これはショック療法のようなもので
「純正Word VBA」で一旦は上下に並べて表示しておき、
それをShellアプリケーションで左右に表示すればどうかと再考しました。

3.「Application.ScreenUpdating」は、
全く効き目がないようです。
(「途中経過」が画面上に表示されます。)
結果だけをパッと表示するということは、
ウィンドウ操作を伴う処理では全く働かないということのようです。

当件については、私の脳味噌は力尽きております。
ここで言えることは、私の理屈よりもWhiteRabbitさんの経験のほうが
勝るということです。
修羅場を潜り抜けていらっしゃるようですが、
そういう方こそ良き作譜者です。

Sub WinWordArrangeA()
 ' 参照設定 Microsoft Shell Controls And Automation
 '
 Dim myShell As Shell32.Shell
 Dim windowLoop As Window
 Dim myTimer As Single
 '
 Set myShell = CreateObject("Shell.Application")
 myShell.MinimizeAll
 '
 myTimer = Timer + 5
 Do Until myTimer < Timer
  DoEvents
 Loop
 Application.ScreenUpdating = False ' 効果なし
 For Each windowLoop In Windows
  With windowLoop
   .Activate
   .WindowState = wdWindowStateMaximize
  End With
 Next windowLoop
 Windows.Arrange ' (?!)
 Application.ScreenUpdating = True ' 効果なし
 '
 myTimer = Timer + 5
 Do Until myTimer < Timer
  DoEvents
 Loop
 myShell.TileVertically ' 左右に並べて表示
 '
 Set myShell = Nothing
End Sub
・ツリー全体表示

【52】Re:Wordのウィンドウを整列させる
質問  WhiteRabbit  - 03/5/21(水) 12:38 -

引用なし
パスワード
   こんにちは、返信ありがとうございます。

修正していただいたコードを試してみているのですが、どうも私のPC環境のせいなのか、うまく整列できないようです。(Windwos2000&Word2000)
ウィンドウサイズが変わる間の動作が影響しているかと思い、間に時間待ちをしてみるといいようです。
ウィンドウの画面を止める方法があればまた様子が違うかもしれません。こうなってくるとVBAでは難しいものでしょうか?
Word内でしたらScreenupdattingプロパティを使えるのですが。

Sub WinWordArrange()
 ' 参照設定 Microsoft Shell Controls And Automation
 Dim myShell As Shell32.Shell
 Dim windowLoop As Window
 Dim waitTimer As Single
 '
 Set myShell = CreateObject("Shell.Application")
 myShell.MinimizeAll
 '
 waitTimer = Timer
 Do: DoEvents: Loop While Timer - waitTimer < 0.2
 
 For Each windowLoop In Windows
  With windowLoop
   .Activate
   .WindowState = wdWindowStateMaximize
  End With
 Next windowLoop
 '
 waitTimer = Timer
 Do: DoEvents: Loop While Timer - waitTimer < 0.2
 'myShell.TileVertically ' 左右に並べて表示
 myShell.TileVertically ' 上下に並べて表示
 'myShell.CascadeWindows ' 重ねて表示
 '
 Set myShell = Nothing
End Sub
・ツリー全体表示

【51】Re:ユーザーフォームにカラーパレットを
お礼  WhiteRabbit  - 03/5/21(水) 12:10 -

引用なし
パスワード
   こんにちは。返信ありがとうございます。
ご紹介のサイトからダウンロードして格闘してみることにします。
不明な点は質問させていただいてよろしいでしょうか?
結果報告までしばらくお時間をください。

▼hide さん:
>▼WhiteRabbit さん:
>>こんにちは。お世話になっています。
>>立て続けですみませんが、ユーザーフォームからカラーパレットを表示させるにはどうすればいいでしょうか?
>>そこで選択されたカラーを取得してWord文書内の文字列に反映したりしたいと思っています。
>>カラーパレットでなくてもコンボボックスの各項目に彩色するのでもいいのですが、ご存知の方がいましたらよえろしくお願いします。
>
>APIでよければ下記サイトが参考になるかもしれません
>http://homepage1.nifty.com/MADIA/vb/API/CHOOSECOLOR.htm
・ツリー全体表示

【50】Re:ユーザーフォームにカラーパレットを
お礼  WhiteRabbit  - 03/5/21(水) 12:05 -

引用なし
パスワード
   こんんちは。返信ありがとうがざいます。

▼らいでん さん:
>きっとWhiteRabbitさんはプログラマさんなのでしょうね(*^^*)

とんでもないです。プログラム言語はVBAが初めてという程度なのです。

>大変失礼ながら何回も念を押しますが、ツールバーでなくパレット自体の
>浮動表示なのですが、、、伝わっていますでしょうか?

それは十分存知ています。一般操作では私もよく使っています。
説明不足ですみませんでした。らいでんさんが疑念をもたれるのももっともなことです。
要は、ある文字群リストがありまして、それに対して一括で着色するなどの用途に使いたいのと、欲張ってユーザーに色を指定させてあげたいという希望がございまして、今回ユーザーフォーム上の設定でデータを取得できればいいと思ったのです。
我侭といわれればそれまでですが、これはあくまで私の考えによるものです。
今のところVBAではどうもこの辺り難しそうなので、フルカラー指定はあきらめ「赤、青、、、、」というような文字に指定で済ませてしまおうかとも思っているところです。

>VBでしたら、コモンダイアログコントロールというのがありますが、、。

そうでしたか、残念ながらVBはもっていませんので、
hideさんご紹介のAPIも手ごわそうですが、トライしてみることにします。
いろいろアドバイスありがとうございました。
・ツリー全体表示

【49】Re:ユーザーフォームにカラーパレットを
回答  hide  - 03/5/21(水) 9:07 -

引用なし
パスワード
   ▼WhiteRabbit さん:
>こんにちは。お世話になっています。
>立て続けですみませんが、ユーザーフォームからカラーパレットを表示させるにはどうすればいいでしょうか?
>そこで選択されたカラーを取得してWord文書内の文字列に反映したりしたいと思っています。
>カラーパレットでなくてもコンボボックスの各項目に彩色するのでもいいのですが、ご存知の方がいましたらよえろしくお願いします。

APIでよければ下記サイトが参考になるかもしれません
http://homepage1.nifty.com/MADIA/vb/API/CHOOSECOLOR.htm
・ツリー全体表示

42 / 45 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
207185
(SS)C-BOARD v3.8 is Free