Word VBA質問箱 IV

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

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


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

【299】Re:Word VBA参考図書
お礼  PUL  - 05/4/29(金) 12:21 -

引用なし
パスワード
   H. C. Shinopy さん,
以前にもご紹介いただいたことがあったのですね.
投稿記事の検索不足でお手数をおかけしました.
この連休,早速探してみます.ありがとうございました.
・ツリー全体表示

【298】Re:Word VBA参考図書
回答  H. C. Shinopy  - 05/4/28(木) 22:15 -

引用なし
パスワード
   お悩みの件、よく判ります。
まずは、[#9]を参照して下さい。
・ツリー全体表示

【297】Word VBA参考図書
質問  PUL  - 05/4/28(木) 11:22 -

引用なし
パスワード
   初めて投稿させていただきます.
VBAを一から初めて勉強する,しかも使いたいアプリケーションがWordという人に推薦する参考書は,どんなものがあるでしょうか.
本屋さんには殆ど並んでいませんよね.私自身は,Excelから入ったので溢れんばかりの参考書に囲まれて不自由はしなかったのですが..
みなさんのとっかかりとなった参考書,もしくはホームページがあれば教えてください.よろしくお願いします.
・ツリー全体表示

【296】校正時のコメント削除について
質問  ジジ子  - 05/4/28(木) 3:47 -

引用なし
パスワード
   word2002を使用しています。

校正をした後に印刷をしたいのですが、
取消線をつけた際の、コメントも印刷されてしまいます。

コメントを「書式変更を元に戻す」では
校正履歴に取消線も消されてしまいますので、
履歴には残したまま、コメントだけ消去というようにはできないでしょうか。

わかりにくい時のため画像をアップしました。どうかよろしくお願いします。
http://briefcase.yahoo.co.jp/bc/dobon425/vwp2?.tok=bcs69OVBVb7Y4jG1&.dir=/&.dnm=word.jpg&.src=bc
・ツリー全体表示

【295】Re:ワードの印刷枚数を数える方法
お礼  みや  - 05/4/26(火) 22:32 -

引用なし
パスワード
   ありがとうございました。
早速試してみます!!。

▼アール さん:
>ページ数を数えるには
>ActiveDocument.BuiltInDocumentProperties
>というコレクションの中にNameプロパティが"Number of pages"という値の
>アイテムがあり、コレのValueプロパティの値をつかえばいいと思います。
>
>
>▼みや さん:
>>初めて投稿いたします。お願いいたします。
>>
>>ワードでフォルダに格納してあるドキュメントすべての
>>印刷枚数を数えて、結果を表示したいのですが。
>>
>>エクセルだと、フォルダをApplication.FileSearchで検索して
>>ページ数 = (ActiveSheet.HPageBreaks.Count + 1) * (ActiveSheet.VPageBreaks.Count + 1)
>>な感じで検索結果のファイルの全シートを検索することで
>>できるのですが・・・。
>>
>>ワードのVBAに慣れていないので、今ひとつ思いつきません。
>>お願いいたします。
・ツリー全体表示

【294】Re:ワードの印刷枚数を数える方法
回答  アール  - 05/4/25(月) 23:41 -

引用なし
パスワード
   ページ数を数えるには
ActiveDocument.BuiltInDocumentProperties
というコレクションの中にNameプロパティが"Number of pages"という値の
アイテムがあり、コレのValueプロパティの値をつかえばいいと思います。


▼みや さん:
>初めて投稿いたします。お願いいたします。
>
>ワードでフォルダに格納してあるドキュメントすべての
>印刷枚数を数えて、結果を表示したいのですが。
>
>エクセルだと、フォルダをApplication.FileSearchで検索して
>ページ数 = (ActiveSheet.HPageBreaks.Count + 1) * (ActiveSheet.VPageBreaks.Count + 1)
>な感じで検索結果のファイルの全シートを検索することで
>できるのですが・・・。
>
>ワードのVBAに慣れていないので、今ひとつ思いつきません。
>お願いいたします。
・ツリー全体表示

【293】ワードの印刷枚数を数える方法
質問  みや  - 05/4/24(日) 16:26 -

引用なし
パスワード
   初めて投稿いたします。お願いいたします。

ワードでフォルダに格納してあるドキュメントすべての
印刷枚数を数えて、結果を表示したいのですが。

エクセルだと、フォルダをApplication.FileSearchで検索して
ページ数 = (ActiveSheet.HPageBreaks.Count + 1) * (ActiveSheet.VPageBreaks.Count + 1)
な感じで検索結果のファイルの全シートを検索することで
できるのですが・・・。

ワードのVBAに慣れていないので、今ひとつ思いつきません。
お願いいたします。
・ツリー全体表示

【292】Re:レイアウト枠の検索
質問  timtamlover  - 05/4/21(木) 10:48 -

引用なし
パスワード
   教えていただいたマクロを実行してみたのですが。。。
全てのレイアウト枠を検索しているようなのですが、
1回のマクロ実行で、文書の最後まで検索が走って
しまうのですね。

1回のマクロ実行で、現在のカーソル位置の
次にあるレイアウト枠1つだけを検索できない
でしょうか?

レイアウト枠を検索して、枠内にあるテキストボックス内の
文字列をレイアウト枠外にコピーペーストしたいのです。
コピーペーストするマクロまで、できれば良いのですが、
数十ページの文書のどこにレイアウト枠があるのかを
探すだけでも大変なので、とりあえずレイアウト枠だけでも
検索できればよいと思っています。

通常は、検索のオプションでレイアウト枠(文字列の
折り返し:しない)を選択して、検索しているのですが
マクロの記録でこの作業をしても、上手く動きません
でした。。。

よろしくお願いします。


▼名乗るほどのものでは さん:
>返信が遅くなり申し訳ありません。
>下記のマクロでは、レイアウト枠は検索できなかったのですが。。。
>うーん、Text=""で、検索かけてるだけなので、
>ちょっと、意味合いがわかりません。
>検索というと違うかもしれませんが、
>
>Sub test()
>
>Dim setObject As Object
>
>For Each myFrame In ActiveDocument.Frames
>  myFrame.Select
>  Set setObject = Selection
>Next myFrame
>
>End Sub
>
>で、一個ずつ選択していくことはできます。
>
>前に質問頂いていた件ですが、
>レイアウト枠を一回テキストボックスに変換してやったら
>いける気がするのですが、レイアウトも壊れる気も。
>
>▼timtamlover さん:
>>度々すいません。
>>以下のマクロで、カーソルがある場所以降、最初のレイアウト枠を検索できるようになりました。
>>「3・5・7ページにレイアウト枠のある文書の場合、1〜2ページにカーソルがあれば3ページのレイアウト枠を、4ページにカーソルがあれば5ページのレイアウト枠を検索できます。」
>>
>>ですが、カーソルがレイアウト枠内にある場合、期待通りの動作になりません。
>>つまり、上記の期待通りの動作をさせるには、常に文書(テキスト)上にカーソルを置いておく必要があります。
>>
>>カーソルの位置に関係なく、レイアウト枠を検索できないでしょうか。
>>よろしくお願いします。
>>
>>
>>Sub Macro1()
>>Selection.Find.ClearFormatting
>>With Selection.Find
>>  .Text = ""
>>  .Frame.TextWrap = False
>>  .Execute Forward:=True
>>End With
>>Selection.Find.Execute
>>End Sub
・ツリー全体表示

【291】Re:文章中の数字だけ色を変えたい
お礼  tootsie  - 05/4/20(水) 11:55 -

引用なし
パスワード
   こんなに早くお返事がいただけるなんて、感謝感激しています。
さっそく貼り付けて使ってみたら、見事に機能しました。

実は、文章の漢字を洋数字に変換するマクロを作ろうとしています。
ネット上で有志の方が無料提供してくださっているものを使ってみたのですが、まったく意図しないものが変換されるなどの不備が多くて困っていたのでした。自分なりに手直しはしているのですが、そのマクロをもっと使いやすいものにするためには、もう少しVBAの勉強が必要なようです。理数系が苦手な自分にとっては大変ですが、頑張ってみますので、分からないことがあれば、またよろしくお願いします。

ありがとうございました。
・ツリー全体表示

【290】Re:文章中の数字だけ色を変えたい
回答  H. C. Shinopy  - 05/4/19(火) 23:18 -

引用なし
パスワード
   御質問の件は、ワイルドカードを使ってできます。
ワイルドカードの指定した内容については、
もっと改善の余地があると思いますが、
私がヘルプや書籍で調べた限りでは、
「正規表現」のような精緻な検索はできないようです。
まずは、下記の通りの回答ということでお許し下さい。

Sub myNumber()
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Rem 漢数字/洋数字検索処理
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 '
 Dim myStartMarker As Word.Range
 '
 Rem カーソルが文章の途中あると、不都合が起こるので、
 Rem 文章の先頭に移動する。
 Selection.Sentences(1).Select
 Selection.Collapse wdCollapseStart
 '
 Rem 検索開始点の取得。
 Set myStartMarker = Selection.Range
 '
 Rem 検索開始。(ワイルドカードを使用)
 With Selection.Find
  .ClearFormatting
  .Text = "[0-90-9〇一二三四五六七八九十百千万億兆]{1,}"
  .Replacement.Text = ""
  .Forward = True
  .Wrap = wdFindStop
  .Format = False
  .MatchCase = False
  .MatchWholeWord = False
  .MatchByte = False
  .MatchAllWordForms = False
  .MatchSoundsLike = False
  .MatchFuzzy = False
  .MatchWildcards = True
 End With
 '
 Rem 検索実行。(検索開始点から下を処理する)
 Do While Selection.Find.Execute
  With Selection
   .Range.HighlightColorIndex = wdYellow ' 蛍光ペン:黄色
   .Font.Color = wdColorRed ' フォントの色:赤色
   .Collapse wdCollapseEnd
  End With
 Loop
 '
 Rem 検索開始点に戻る。
 myStartMarker.Select
 MsgBox "検索終了!"
End Sub ' myNumber *----*----*  *----*----*  *----*----*  *----*----*
・ツリー全体表示

【289】文章中の数字だけ色を変えたい
質問  tootsie  - 05/4/19(火) 13:11 -

引用なし
パスワード
   はじめてお便りします。

最近マクロの利用価値にめざめたばかりです。

単刀直入ですが、一般の文章の中の数字(漢数字と洋数字の両方)をチェックするために、数字だけをたとえば赤にするとか、網がけするなどして目立たせたいのですが、どうしたらよいでしょう。

漢数字は一から十、百、千、万、億、兆の位まで。それによって「百瀬」[八潮」などという数字以外の言葉も拾ってしまうかもしれませんが、それはチェックするためなのでかまいません。

面倒な質問で恐縮ですが、よろしくお願いします。
・ツリー全体表示

【288】Re:レイアウト枠の検索
発言  名乗るほどのものでは  - 05/4/15(金) 14:24 -

引用なし
パスワード
   返信が遅くなり申し訳ありません。
下記のマクロでは、レイアウト枠は検索できなかったのですが。。。
うーん、Text=""で、検索かけてるだけなので、
ちょっと、意味合いがわかりません。
検索というと違うかもしれませんが、

Sub test()

Dim setObject As Object

For Each myFrame In ActiveDocument.Frames
  myFrame.Select
  Set setObject = Selection
Next myFrame

End Sub

で、一個ずつ選択していくことはできます。

前に質問頂いていた件ですが、
レイアウト枠を一回テキストボックスに変換してやったら
いける気がするのですが、レイアウトも壊れる気も。

▼timtamlover さん:
>度々すいません。
>以下のマクロで、カーソルがある場所以降、最初のレイアウト枠を検索できるようになりました。
>「3・5・7ページにレイアウト枠のある文書の場合、1〜2ページにカーソルがあれば3ページのレイアウト枠を、4ページにカーソルがあれば5ページのレイアウト枠を検索できます。」
>
>ですが、カーソルがレイアウト枠内にある場合、期待通りの動作になりません。
>つまり、上記の期待通りの動作をさせるには、常に文書(テキスト)上にカーソルを置いておく必要があります。
>
>カーソルの位置に関係なく、レイアウト枠を検索できないでしょうか。
>よろしくお願いします。
>
>
>Sub Macro1()
>Selection.Find.ClearFormatting
>With Selection.Find
>  .Text = ""
>  .Frame.TextWrap = False
>  .Execute Forward:=True
>End With
>Selection.Find.Execute
>End Sub
・ツリー全体表示

【287】Re:セクション区切りのファイルにページを...
回答  ドイツ人  - 05/4/15(金) 10:59 -

引用なし
パスワード
   皆様解決いたしました。

マイクロソフトのサイトがありました。

http://support.microsoft.com/default.aspx?scid=kb;ja;290984

ここでの説明によりますと、

複数のセクションにまたがるページ範囲を指定して印刷するには、次の構文を使用して [ページ指定] ボックス ([印刷] ダイアログ ボックスの [印刷範囲] セクション) にページ範囲を入力します。
p<ページ番号>s<セクション番号>-p<ページ番号>s<セクション番号>
たとえば、セクション 3 のページ 5 からセクション 4 の ページ 2 まで印刷するには、p5s3-p2s4 と入力します。

でした。

またわからないことがありましたら、宜しくお願いいたします。
・ツリー全体表示

【286】Re:レイアウト枠の検索
質問  timtamlover  - 05/4/12(火) 10:31 -

引用なし
パスワード
   度々すいません。
以下のマクロで、カーソルがある場所以降、最初のレイアウト枠を検索できるようになりました。
「3・5・7ページにレイアウト枠のある文書の場合、1〜2ページにカーソルがあれば3ページのレイアウト枠を、4ページにカーソルがあれば5ページのレイアウト枠を検索できます。」

ですが、カーソルがレイアウト枠内にある場合、期待通りの動作になりません。
つまり、上記の期待通りの動作をさせるには、常に文書(テキスト)上にカーソルを置いておく必要があります。

カーソルの位置に関係なく、レイアウト枠を検索できないでしょうか。
よろしくお願いします。


Sub Macro1()
Selection.Find.ClearFormatting
With Selection.Find
  .Text = ""
  .Frame.TextWrap = False
  .Execute Forward:=True
End With
Selection.Find.Execute
End Sub
・ツリー全体表示

【285】Re:Word文書でスタイルをチェックするマクロ
回答  H. C. Shinopy  - 05/4/11(月) 22:59 -

引用なし
パスワード
   多岐の条件については、Select Case ステートメントのほうが便利です。
これにCase節を追加して条件を増やすことができます。
例を挙げると・・・   

Select Case myPara.Style = "標準"
 Case "標準", "見出し1"
  myPara.Range.Font.ColorIndex = wdRed
 Case "見出し 2"
  myPara.Range.Font.ColorIndex = wdBlue
 Case Else
  myPara.Range.Font.ColorIndex = wdGreen
End Select

因みに、指定できるColorIndexの色は・・・
wdBlack wdBlue wdBrightGreen wdDarkBlue
wdDarkRed wdDarkYellow
wdGray25 wdGray50 wdGreen wdPink wdRed
wdTeal wdTurquoise wdViolet
wdWhite wdYellow

また、ヘルプに載っている使用例は下の通り。
条件追加の参考にして頂ければ幸いです。

「次の例は、Select Case ステートメントを使って、変数の値を評価します。
この例では、変数の値は必ず 2 番目の Case 節と一致します。
したがって、2 番目の Case 節に記述されたステートメントだけが実行されます。」

Dim Number
Number = 8            ' 変数を初期化します。

Select Case Number        ' Number を評価します。
 Case 1 To 5            ' Number の値が 1 〜 5 の場合。
  Debug.Print "1 から 5 の間"
 ' この例では、Number に 8 を代入しているため、
 ' True と評価されるのは次の Case 節だけです。
 Case 6, 7, 8            ' Number の値が 6 〜 8 の場合。
  Debug.Print "6 から 8 の間"
 Case 9 To 10 And Number < 11    ' Number の値が 9 または 10 の場合。
  Debug.Print "9 または 10"
 Case Else              ' その他の値の場合。
  Debug.Print "1 から 10 以外の数値"
End Select
・ツリー全体表示

【284】Re:Word文書でスタイルをチェックするマクロ
質問  ZOO  - 05/4/11(月) 10:27 -

引用なし
パスワード
   “標準”と“見出し1”を赤くする場合、以下の様に書けばOKでした。

   If myPara.Style = "標準" Then
    myPara.Range.Font.ColorIndex = wdRed
   End If

   If myPara.Style = "見出し1" Then
    myPara.Range.Font.ColorIndex = wdRed
   End If


全てのスタイルで、上記のIF文を作成すれば動きますが、
簡素化した書き方がわかりません。
テーブルを使用するという方法もありですか?
・ツリー全体表示

【283】Re:Word文書でスタイルをチェックするマクロ
質問  ZOO  - 05/4/11(月) 10:05 -

引用なし
パスワード
   H. C. Shinopy さん
ありがとうございます。
素晴らしいですね。
まさに、求めていた動きとしてはこの通りです。

>[見出し1]がありながら、[標準]や[本文]のない文書があるとは思えませんので・・・
非常にごもっともなご指摘ありがとうございます。
例えば・・・ということで簡単に例えを書き過ぎました。
すみません。
実は、独自のスタイルが20種類くらい有り、
それ以外のスタイルが存在していないかどうか、
確認出来るマクロが出来ればいいな。と思っています。

H. C. Shinopy さんのマクロを手本に試行錯誤していますが、
なかなかうまくいきません。
何か良い方法がありましたらご教示お願いします。
・ツリー全体表示

【282】Re:Word文書でスタイルをチェックするマクロ
回答  H. C. Shinopy  - 05/4/8(金) 23:43 -

引用なし
パスワード
   「見出し1というスタイルしか使用してはいけない文書があった場合・・・」ということですが、
[見出し1]がありながら、[標準]や[本文]のない文書があるとは思えませんので、
文書の中にある段落を順々に条件式で調べるのはどうでしょうか?
他に考えられないので・・・

Sub myStyle()
 Dim myPara As Paragraph
 '
 For Each myPara In ActiveDocument.Paragraphs ' 文書全体を処理する場合
 Rem For Each myPara In Selection.Paragraphs ' 選択した範囲だけ処理する場合
  If InStr(myPara.Style, "見出し") > 0 Then
   Rem [見出し]スタイルの内、[見出し 1]以外の場合、
   Rem 文字の色を赤色にする。
   If myPara.Style <> "見出し 1" Then
    myPara.Range.Font.ColorIndex = wdRed
   End If
  End If
 Next myPara
End Sub
・ツリー全体表示

【281】Re:Word文書でスタイルをチェックするマクロ
質問  ZOO  - 05/4/8(金) 14:00 -

引用なし
パスワード
   H. C. Shinopy さん

サイト情報をありがとうございました。
残念ですが、目的の方向が少し違うので、
掲載されているマクロを書き換えて・・・というのはちょっと私のは無理な様です。
おそらく、検索機能でスタイルは検索可能なのでマクロに詳しい方であれば、
そんなに難しい記述ではないのかな?と思い相談させていただいています。

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

【280】セクション区切りのファイルにページを入れ...
質問  ドイツ人  - 05/4/7(木) 11:46 -

引用なし
パスワード
   もともとどちらかを選択しなければいけないのかとも思うのですが質問です。

セクション区切りをした場合、例えば100セクションあってもページ数は1ページ
ですよね。

ですので、印刷する場合、ページ指定で行っても当然印刷できず、ページ指定で
1ページとすると100枚印刷されます。

セクション55のみ印刷したい場合、どうやれば出来ますか。そもそも不可能なのでしょうか。

セクションを表示して、現在のページを印刷する、で出来ることは出来ますが、
指定して印刷をしたのです。

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

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