Word VBA質問箱 IV

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

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


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

【528】ワードでショートカットを設定してテキスト...
質問  たなか E-MAIL  - 07/5/21(月) 0:35 -

引用なし
パスワード
   ワードのマクロVBAなどで
あらかじめ設定したショートカットキーを押せば
選択した部分が黄色のマーカーになる
というようなことはできませんでしょうか?
・ツリー全体表示

【526】空白のページが・・・
質問  katsu  - 07/4/26(木) 9:27 -

引用なし
パスワード
   ページの最後に表を挿入すると2ページ目に改行マークが出て空白ページが出来ます。余白を最小にしても2ページ目の改行が消えないのですがどうした消せるのでしょうか?無理なのでしょうか??教えてください。
・ツリー全体表示

【525】スタイルの設定について
質問  すぎ  - 07/4/5(木) 18:02 -

引用なし
パスワード
   初めて投稿させて頂きます。

テンプレート化する予定の元文書ファイル(a)内に不要・冗長なスタイルが無いか確認するために、(a)内のスタイルを使って以下の様に順次スタイル適用してサンプルを作成するマクロを作成しようと思いましたが、うまく動作してくれません。

'Jでループ。ActiveDocument.Styles.Count分だけの段落は作成済み。
 ActiveDocument.Paragraphs(J).Style = ActiveDocument.Styles(J)

多分、型の問題なのではないかと思うのですが、右辺を

 -2 ' wdStyleHeading1
 "見出し1"

の様に即値(正確な表現ができずすいません)で与えれば問題ありませんでした。

どなたか右辺の書き方をご存知ないでしょうか。
・ツリー全体表示

【524】Re:shellの終了と同期させるには? 追...
お礼  FJ  - 07/3/22(木) 10:55 -

引用なし
パスワード
   私も同様に他アプリケーションの終了チェックの
壁にぶつかり、このログを教えてもらいました。

一言お礼を残したくレスを書きました。

H. C. Shinopy さん ありがとうございます。

以上
・ツリー全体表示

【523】保存先が選べない・・
質問  はなちゃん  - 07/2/20(火) 9:34 -

引用なし
パスワード
   Officeの製品すべてがそうなるのですが・・・
名前をつけて保存しようとすると保存先がMyDocumentに固定されてしまって他の保存先を選べません。
って言うか、プルダウンされてこないのでもうそこにしか保存できないのです・・・
Officeを削除し再インストールしても一緒です。
なにか知っている人はいませんか?
・ツリー全体表示

【522】コンボボックス
質問  りの  - 06/12/25(月) 15:41 -

引用なし
パスワード
   お世話になります。
word初心者なので、初歩的な質問だったらごめんなさい。
コンボボックスで表示されるリストなんですが、プロパティで設定可能ですか?
コードでリストを表示させる方法はわかったのですが、
プロパティで、設定できるならそちらで設定したいのです。
教えてください。よろしくお願いします。
・ツリー全体表示

【521】Re:変更履歴のコメントを印刷させない方法
発言  kohji  - 06/12/8(金) 16:56 -

引用なし
パスワード
   プリオさん こんにちは

Word2003って結構厄介になったものですね。。。

代替案なのですが
説明文はフォント→文字飾り→隠し文字にしてみてはどうでしょう

ただ規定値では表示されないので
オプション→表示→編集記号の表示→隠し文字にチェックを入れる必要があります

ファイルオープン時に
チェックを入れるようにマクロを組む必要がありますが。。。
・ツリー全体表示

【520】Word2000でWebページ保存するとレイアウト...
質問  43ew2  - 06/11/29(水) 12:02 -

引用なし
パスワード
   Word2000で文書を作成し、ルーラー等をずらし段落にインデントをつけて、Webページとして保存した結果できたhtmlファイルをブラウザで開くと、インデントが設定されず、べたっと左によってしまいます。
自分が試した所、2002や2003だとうまくいくのですが、これは2000の仕様なのでしょうか?
・ツリー全体表示

【519】Re:VBA Word2002のマクロについて
お礼  kokoro  - 06/11/17(金) 23:01 -

引用なし
パスワード
   返信ありがとうございました。
他のコミュニティで質問しようと思いますので、こちらは結構です。すいません。
・ツリー全体表示

【518】Re:VBA Word2002のマクロについて
お礼  kokoro  - 06/11/17(金) 20:46 -

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

やっぱり、それでもエラーが出ます。と言うのも、ドキュメント上に直接置いたオブジェクト(この場合ではフレームオブジェクト)のプロパティなどは、コードからアクセスできるんですけど、フレームオブジェクトの中に作ったオブジェクト(フレームオブジェクトを右クリックして編集をクリックして、ツールボックスを表示して作ったオブジェクト)はダブルクリックしても、コードの画面が開かないし、コードからアクセスできないみたいなんです。デザイン時にはプロパティなど編集できるんですけど・・・。

うーん。他に何か方法はないのか、困ってしまいます・・・。
・ツリー全体表示

【517】Re:VBA Word2002のマクロについて
発言  りん  - 06/11/17(金) 19:06 -

引用なし
パスワード
   kokoro さん、こんばんわ。

『Frame1.』 をはずして

Textbox1.text = "test"
でエラーになりますか?
・ツリー全体表示

【516】VBA Word2002のマクロについて
質問  kokoro  - 06/11/16(木) 16:07 -

引用なし
パスワード
   Word2002で、ちょっとしたマクロを作ろうと思ってるのですが、躓いてます。

マクロを実行したときにドキュメントの中に画像と(その画像の上に重ねる形で)テキストボックスを挿入させるようにしたいです。テキストボックスの中のテキストはウィンドウを開いてリストから選んだ人の名前を入れたいと思ってます。

マクロを実行するときに、テキストボックスを一つずつ挿入するのは無理そうなので、あらかじめ、画像とテキストボックスが置かれたドキュメントを何パターンか作り、その文書から貼り付ける形を取った後、テキストボックス内の文字だけマクロを実行したときに指定できればと思ってます。

自分が今困ってるのは、デザインモードで、「コントロールの選択」から「Microsoft Forms 2.0 Frame」を選択して、ドキュメント内にフレームオブジェクトを作り、(フレームオブジェクトのPictureプロパティで画像は指定できました)、その中にテキストボックス(ラベルでも良い)を配置した物の、コードから、そのテキストボックスのプロパティ(Textプロパティ)を指定できないみたいであることです。

例:
Frame1.Textbox1.text = "test"
としても、エラーが返ってきます。

その画像とテキストボックスを、ドキュメントの中に挿入したいと言うのと、画像のレイアウトの設定をして、テキストボックスを重ねれば出来るかもしれませんが、それだと、画像とテキストボックスの位置を細かく指定できないので、避けたいのですが(Frameコントロールを使えばドラッグして細かく調整できます)、何か方法はありますでしょうか?

よろしくお願いします。<(_ _)>
・ツリー全体表示

【515】ありがとうございました
お礼  ぱんくろうママ  - 06/11/6(月) 1:03 -

引用なし
パスワード
   ご回答の内容を、実際に参考にさせて頂いた結果、無事に動かすことができました。
また、仕事の効率も上がり、大変嬉しく思っています。

マクロの記述だけでは色々と限界があるのですね…
もっと勉強しなくてはと思いました。

またよろしくお願いします。

今回は本当にありがとうございました。
・ツリー全体表示

【514】Wordで使ったファイルを監視?する方法
質問  朝顔  - 06/11/5(日) 11:10 -

引用なし
パスワード
   エクセル質問箱【43944】でエクセルを開いたり閉じたりした使用記録
をログに取るアドインを使った方法がありましたが、
Wordでもそういうことができないでしょうか?
・ツリー全体表示

【513】Re:選択範囲の文字を検索したい
回答  H. C. Shinopy  - 06/11/3(金) 23:32 -

引用なし
パスワード
   実際の作業のことを考えてみたら、
もう一捻り必要でした。

選択範囲を指定して、[検索]ボタンを押すと、
指定した文字列を検索。
選択していない状態で、[検索]ボタンを押すと、
先に検索した文字列を再検索。
以下、修正版。

Sub MyFindOne()
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Rem 選択文字列単発検索処理
 Rem 記録者:
 Rem 言語:Word VBA
 Rem 機能:選択した文字列を検索する。
 Rem 注記...
 Rem  MyFindOneを起動して使用。
 Rem  Officeアシスタント(モードレス表示)による検索実行。
 Rem 第1版:2006/11/01:作成。
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Dim blln As Balloon
 Dim bttn As Long
 Dim bllnID As Long
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 '
 Rem 初期処理を実行させる。
 bttn = -888
 Call MyFindOneBttn(blln, bttn, bllnID)
End Sub ' MyFindOne *----*----*  *----*----*  *----*----*  *----*----*

Sub MyFindOneBlln(myCbox As Variant)
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Rem バルーン表示処理
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Assistant.Visible = True
 '
 With Assistant.NewBalloon
  .Animation = msoAnimationIdle
  .BalloonType = msoBalloonTypeButtons
  .Icon = msoIconAlertQuery
  .Button = msoButtonSetSearchClose
  .Heading = "MyFindOne" & vbCr & "選択 文字列" & vbCr & "単発 検索 処理"
  .Text = "文字列を選択して、[検索]して下さい。"
  .Checkboxes(1).Checked = myCbox
  .Checkboxes(1).Text = "検索方向:文書の先頭へ"
  .Mode = msoModeModeless
  .Callback = "MyFindOneBttn"
  .Show
 End With
End Sub ' MyFindOneBlln *----*----*  *----*----*  *----*----*  *----*----*

Sub MyFindOneBttn(blln As Balloon, bttn As Long, bllnID As Long)
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Rem 各ボタン処理
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Static myCbox As Variant
 '
 Select Case bttn
  Case -888
   Call MyFindOneInit(myCbox)
   Call MyFindOneBlln(myCbox)
   Exit Sub
  Case msoBalloonButtonClose ' [閉じる]ボタン時
   myCbox = blln.Checkboxes.Item(1).Checked
   blln.Close
   Assistant.Visible = False
   Exit Sub
 End Select
 '
 If Tasks.Exists(Name:="Microsoft Word") = True Then
  Tasks("Microsoft Word").Activate
 End If
 '
 Select Case bttn
  Case msoBalloonButtonSearch
   myCbox = blln.Checkboxes.Item(1).Checked
   Call MyFindOneExec(myCbox)
 End Select
End Sub ' MyFindOneBttn *----*----*  *----*----*  *----*----*  *----*----*

Sub MyFindOneExec(myCbox As Variant)
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Rem 検索処理
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Dim myText As String
 '
 If Selection.Range.Text = "" Then
  With Selection.Find
   If myCbox = True Then
    .Forward = False ' 文書の先頭へ検索
   Else
    .Forward = True ' 文書の末尾へ検索
   End If
   .Execute ' 検索実行
  End With
  Exit Sub
 End If
 '
 myText = Selection.Range.Text
 '
 With Selection.Find
  .ClearFormatting
  .Text = myText
  .Replacement.Text = ""
  If myCbox = True Then
   .Forward = False ' 文書の先頭へ検索
  Else
   .Forward = True ' 文書の末尾へ検索
  End If
  .Wrap = wdFindAsk
  .Format = False
  .MatchCase = False
  .MatchWholeWord = False
  .MatchByte = False
  .MatchAllWordForms = False
  .MatchSoundsLike = False
  .MatchWildcards = False
  .MatchFuzzy = True
  .Execute ' 検索実行
 End With
End Sub ' MyFindOneExec *----*----*  *----*----*  *----*----*  *----*----*

Sub MyFindOneInit(myCbox As Variant)
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Rem 初期処理
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 If TypeName(myCbox) <> "Notihng" Then Exit Sub
 '
 myCbox = False ' 既定値
End Sub ' MyFindOneInit *----*----*  *----*----*  *----*----*  *----*----*
・ツリー全体表示

【512】変更履歴のコメントを印刷させない方法
質問  プリオ  - 06/11/2(木) 22:34 -

引用なし
パスワード
   Word2003で、フォームが設定されている文章があります。
フォームことに、書き方の記入例を変更履歴機能のコメントに入力した
申し込み用紙を作りたいのですが、印刷するときにコメントを印刷したくありません。変更履歴を「最終版」にして印刷すればよいのでしょうが、
大勢に配布する資料なために、全員の人が理解して変更履歴の「最終版」を選択してくれない可能性があります。

*文書上ではコメントが表示されるが印刷するとコメントは印刷されない方法
または
*変更履歴「最終版」に一発で変換する方法

をご存知なかたがいらっしゃいましたらご教授願います。
・ツリー全体表示

【511】Re:ページ設定不具合
お礼  グッチと申します。  - 06/11/2(木) 6:22 -

引用なし
パスワード
   ▼りん さん:
返信ありがとうございます。

>はがきサイズに変更したからでは?

一作業前ではがきサイズに変更にならなければいけないのですが。
・ツリー全体表示

【510】Re:選択範囲の文字を検索したい
回答  H. C. Shinopy  - 06/11/1(水) 21:05 -

引用なし
パスワード
   「myText = Selection.Range.Text」でマクロ処理上の問題は解決します。
しかし、実際に使う上で問題になるのが起動方法です。

メニューバーの[ツール]から[マクロ]を選んで…というのは、
手間が掛かかって面倒です。

こうした作業が頻発するのでしたら、
マクロ起動用のボタンをツールバーに追加すると便利です。

1.メニューバーの[ツール]をクリックし、[ユーザー設定…]を選ぶ。
2.[ユーザー設定]ダイアログボックスの[コマンド]タブを選ぶ。
3.[コマンド]タブの中の左側 [分類]の「マクロ」をクリックする。
4.右側の[コマンド]の中から[MySearch]あるいは[Macro15]を探す。
5.[MySearch]あるいは[Macro15]をクリックして選び、
これをツールバー上(の御自分の好きな位置)にドラッグする。
  (ドラッグ&ドロップする)
→マクロ起動用のボタンがツールバー上にできる。
6.[閉じる]ボタンを押す。

これで、文字列を選択後、ツールバーのボタンを押すだけで、
マクロを実行することができます。

Sub MySearch()
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Rem 選択文字列一回検索処理
 Rem 記録者:
 Rem 言語:Word VBA
 Rem 機能:選択した文字列を検索する。
 Rem 注記...
 Rem  MySearchを起動して使用。
 Rem  Officeアシスタント(モードレス表示)による検索実行。
 Rem 第1版:2006/11/01:作成。
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Assistant.Visible = True
 '
 With Assistant.NewBalloon
  .Animation = msoAnimationIdle
  .BalloonType = msoBalloonTypeButtons
  .Icon = msoIconAlertQuery
  .Button = msoButtonSetSearchClose
  .Heading = "選択 文字列" & vbCr & "検索 処理"
  .Text = "選択して下さい。"
  ' .Labels(1).Text = "あああ"
  .Mode = msoModeModeless
  .Callback = "MySearchBttn"
  .Show
 End With
End Sub ' MySearch *----*----*  *----*----*  *----*----*  *----*----*

Sub MySearchBttn(blln As Balloon, bttn As Long, bllnID As Long)
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Rem 各ボタン処理
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 If bttn = msoBalloonButtonClose Then ' [閉じる]ボタン時
  blln.Close
  Assistant.Visible = False
  Exit Sub
 End If
 '
 If Selection.Range.Text = "" Then
  MsgBox "文字列が選択されていません。"
  If Tasks.Exists(Name:="Microsoft Word") = True Then
   Tasks("Microsoft Word").Activate
  End If
  Exit Sub
 End If
 '
 'Assistant.Visible = True
 Select Case bttn
  Case msoBalloonButtonSearch
   Call Macro15
 End Select

 '
' If Tasks.Exists(Name:="Microsoft Word") = True Then
'  Tasks("Microsoft Word").Activate
' End If
  ' Assistant.Visible = True
End Sub ' MySearchBttn *----*----*  *----*----*  *----*----*  *----*----*

Sub Macro15()
 ' Macro15 Macro
 ' 記録日 2006/10/31 記録者
 ' 「myText」・Officeアシスタントに係る部分を追加しました。
 ' *----*----*  *----*----*  *----*----*  *----*----*
 Dim myText As String
 '
 myText = Selection.Range.Text
 '
 ' *----*----* Selection.Copy
 Selection.Find.ClearFormatting
 With Selection.Find
  .Text = myText ' *----*----* "aaa"
  .Replacement.Text = ""
  .Forward = False ' 文書の末尾から先頭へ検索
  .Wrap = wdFindAsk
  .Format = False
  .MatchCase = False
  .MatchWholeWord = False
  .MatchByte = False
  .MatchAllWordForms = False
  .MatchSoundsLike = False
  .MatchWildcards = False
  .MatchFuzzy = True
 End With
 '
 If Tasks.Exists(Name:="Microsoft Word") = True Then
  Tasks("Microsoft Word").Activate
 End If
 '
 Selection.Find.Execute
End Sub
・ツリー全体表示

【509】選択範囲の文字を検索したい
質問  ぱんくろうママ  - 06/10/31(火) 23:56 -

引用なし
パスワード
   初めまして。
Wordのマクロの自動記録を行ないました。
操作については、題名にあるような事をするためです。

1.ある文字列をドラッグする
2.その文字列をコピー
3.検索のダイアログボックスを表示し、検索する文字列のところにコピーした文字を貼り付ける
4.検索を開始(上に向って)
5.出てきたら終了

という手順で、先に文字列をドラッグしておいて、2〜5までを自動記録しました。

しかし、違う文字列をドラッグしてこのマクロを実行すると、

・マクロの自動記録をしたときに選択していた文字列で検索してしまう
・選択範囲の検索が終了しました。検索項目は見つかりませんでした。、と出て自動記録した時に選択していた文字列すら見つからない。

という状況になります。

記録したマクロは以下の通りです

Sub Macro15()
'
' Macro15 Macro
' 記録日 2006/10/31 記録者
  
  Selection.Copy
  Selection.Find.ClearFormatting
  With Selection.Find
    .Text = "aaa"
    .Replacement.Text = ""
    .Forward = False
    .Wrap = wdFindAsk
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchWildcards = False
    .MatchFuzzy = True
  End With
  Selection.Find.Execute
End Sub

.Textのところに、記録をしたときに最初に選んだ文字列"aaa"が入ってしまいます。

選んでは検索し、出てきたらそこで作業、選んでは検索し…を繰り返したいのですが。

よろしくお願いします。
・ツリー全体表示

【508】Re:表の作成で
発言  りん  - 06/10/30(月) 10:41 -

引用なし
パスワード
   もさ〜ん さん、おはようございます。
一部訂正

(表).Columns.Countでした。
・ツリー全体表示

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