Word VBA質問箱 IV

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

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


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

【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のみ印刷したい場合、どうやれば出来ますか。そもそも不可能なのでしょうか。

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

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

【279】Re:Word文書でスタイルをチェックするマクロ
回答  H. C. Shinopy  - 05/4/6(水) 20:55 -

引用なし
パスワード
   まずは、マイクロソフト社の下記ページを参考にしてみて下さい。

「Word 2002 のスタイル設定で使用するマクロを作成する −
さまざまな書式が設定された複数のWord文書を扱うことに
うんざりしたことはありませんか。
ここでは、Word文書のスタイルの管理に役立つ3つのマクロの作成方法に
ついて説明します。」

http://office.microsoft.com/ja-jp/assistance/HA010429641041.aspx

ここのページにあるマクロ
「ListStyles()」・「ChangeDocumentStyles()」で
手間が軽減できるでは?
・ツリー全体表示

【278】Word文書でスタイルをチェックするマクロ
質問  ZOO  - 05/4/6(水) 13:52 -

引用なし
パスワード
   お世話になっております。

アウトライン表示で、右側にスタイルを表示させることが出来ますが、

例えば・・・・

見出し1 
というスタイルしか使用してはいけない文書があった場合、
アウトライン表示で、見出し1 以外のスタイルが存在すると、
その該当する行の色が変わるとかして、一目でわかる様なことがしたいのですが、
可能なのでしょうか?

検索機能で、スタイルを検索したのを自動マクロで記憶させると以下の様になりますが、
違う文書で実行しようとすると、まったくなクロが動きません。

Sub Macro1()

  Selection.Find.ClearFormatting
  Selection.Find.Style = ActiveDocument.Styles("見出し 1")
  Selection.Find.ParagraphFormat.Borders.Shadow = False
  With Selection.Find
    .Text = ""
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindContinue
    .Format = True
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchWildcards = False
    .MatchFuzzy = True
  End With
  
End Sub


どの様に書けばいいでしょうか。

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

【277】Re:マクロの自動実行の方法
お礼  ぽっぽ  - 05/4/6(水) 12:42 -

引用なし
パスワード
   さぼさぼさん、こんにちは。

Subの名前をAutoOpenに変えてみたところ、
思うような動作になりました!

ありがとうございましたm(_ _)m
・ツリー全体表示

【276】Re:マクロの自動実行の方法
回答  さぼさぼ  - 05/4/6(水) 10:48 -

引用なし
パスワード
   ▼ぽっぽ さん:
AutoOpenでやってみて下さい。
AutoExecでは文章がロードされる前に実行されてしまいますので
上手くいかないのだと思います。

>はじめまして。ぽっぽです。
>
>Accessデータベースのテーブルから、
>Wordに差し込み印刷したいと思っています。
>Accessとの連結はうまくいき、
>Word側で差し込み印刷ヘルパーより手動で[差し込み]を実行すると、
>正常に動作します。
>
>この動作を、AccessからWordを呼び出して開いた際に、
>自動的に差し込まれるようにしたいです。
>
>その動作をマクロに記録し、
>それをそのまま利用しているのですが、
>Wordファイルを開いた際にマクロが自動実行されません。
>
>マクロ名が間違っていますでしょうか。
>(他のサイトでAuto_Execというのがあり試しましたがダメでした)
>自動実行のための設定が足りないのでしょうか。
>
・ツリー全体表示

【275】Re:全角、半角
お礼  ほし  - 05/4/6(水) 1:08 -

引用なし
パスワード
   本当にありがとうございます!サイトまで教えていただいて、ほんと親切で感動しました。まだ実行していませんが、やってみます!またなにかあったらよろしくお願いしますm(__)mほんと感謝です!
・ツリー全体表示

【274】マクロの自動実行の方法
質問  ぽっぽ  - 05/4/5(火) 22:20 -

引用なし
パスワード
   はじめまして。ぽっぽです。

Accessデータベースのテーブルから、
Wordに差し込み印刷したいと思っています。
Accessとの連結はうまくいき、
Word側で差し込み印刷ヘルパーより手動で[差し込み]を実行すると、
正常に動作します。

この動作を、AccessからWordを呼び出して開いた際に、
自動的に差し込まれるようにしたいです。

その動作をマクロに記録し、
それをそのまま利用しているのですが、
Wordファイルを開いた際にマクロが自動実行されません。

マクロ名が間違っていますでしょうか。
(他のサイトでAuto_Execというのがあり試しましたがダメでした)
自動実行のための設定が足りないのでしょうか。

WordVBAにつきましては全くの初心者で、
つまらない質問ですが、
何卒、ご教授のほど、よろしくお願いしますm(_ _)m


Sub AutoExec()
'
' AutoExec Macro
' 記録日 2005/04/05 記録者 Poppo'

  Application.WindowState = wdWindowStateNormal
  With ActiveDocument.MailMerge
    .Destination = wdSendToNewDocument
    .MailAsAttachment = False
    .MailAddressFieldName = ""
    .MailSubject = ""
    .SuppressBlankLines = True
    With .DataSource
      .FirstRecord = wdDefaultFirstRecord
      .LastRecord = wdDefaultLastRecord
    End With
    .Execute Pause:=True
  End With
  
End Sub
・ツリー全体表示

【273】Re:全角、半角
発言  名乗るほどのものでは  - 05/4/4(月) 17:04 -

引用なし
パスワード
   失礼、追記。
http://www.diatec.co.jp/support/wxp-101ps2setup.html
を見たらいいかもしれません。
・ツリー全体表示

【272】Re:全角、半角
回答  名乗るほどのものでは  - 05/4/4(月) 17:01 -

引用なし
パスワード
   遅くなり申し訳ありません。
自己解決されたかもしれませんが、
なんのひょうしでか、
日本語キーボードだったキーボード配列の設定が、
英語キーボードに切り替わったのではないかと思います。
普通は、Windowsが立ち上がる前の、真っ暗な画面で、
設定できるのですが、パソコンの種類等がわかりませんので、
「英語キーボード」とか使って、適当にググッてみてください。
答えにならずに申し訳ない。

▼ほし さん:
>ほんとだ!昔みたいに、一発で変換することができました!!ありがとうございます!あと、よくがあって申し訳ないんですが、Altキーを押さずにするようにはできないんですか?ほんとすいませんが、どうかお願いします。
・ツリー全体表示

【271】Re:全角、半角
発言  ほし  - 05/3/31(木) 23:32 -

引用なし
パスワード
   ほんとだ!昔みたいに、一発で変換することができました!!ありがとうございます!あと、よくがあって申し訳ないんですが、Altキーを押さずにするようにはできないんですか?ほんとすいませんが、どうかお願いします。
・ツリー全体表示

【270】Re:レイアウト枠の検索
発言  名乗るほどのものでは  - 05/3/31(木) 16:05 -

引用なし
パスワード
   こんな感じかなぁ、と思ったけど、
私の環境では、失敗でした。

Sub test()

Dim setObject As Object
Dim tmpText As String

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

End Sub

レイアウト枠の意味がまだよくわかっていないので、
また、思いついたら回答させて頂きます。

▼timtamlover さん:
>説明不足ですみませんでした。
>やりたい作業は、
>1. レイアウト枠を探す
>2. レイアウト枠がテキストボックスを含んでいるかチェックする
>3. テキストボックスがある場合、テキストボックス内の文字列を
>  レイアウト枠の外(枠のすぐ上)にコピー&ペーストする
>ここまで終わったら、1.に戻って作業を繰り返す。
>ということなんです。
>
>2.や3.まで含めてマクロ化できれば、さらにうれしいのですが、
>今のところ1.のマクロも作成できずにつまづいている状況です。
>
>「レイアウト枠を次から次へと検索する」というのでは、
>伝わらないですよね。。。すみません。
>
>「カーソルのある位置以降にあるレイアウト枠を検索する」
>ということになるのでしょうか。
>
>よろしくお願いします。
・ツリー全体表示

【269】Re:レイアウト枠の検索
質問  timtamlover  - 05/3/31(木) 9:12 -

引用なし
パスワード
   説明不足ですみませんでした。
やりたい作業は、
1. レイアウト枠を探す
2. レイアウト枠がテキストボックスを含んでいるかチェックする
3. テキストボックスがある場合、テキストボックス内の文字列を
  レイアウト枠の外(枠のすぐ上)にコピー&ペーストする
ここまで終わったら、1.に戻って作業を繰り返す。
ということなんです。

2.や3.まで含めてマクロ化できれば、さらにうれしいのですが、
今のところ1.のマクロも作成できずにつまづいている状況です。

「レイアウト枠を次から次へと検索する」というのでは、
伝わらないですよね。。。すみません。

「カーソルのある位置以降にあるレイアウト枠を検索する」
ということになるのでしょうか。

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

【268】Re:レイアウト枠の検索
回答  名乗るほどのものでは  - 05/3/30(水) 16:39 -

引用なし
パスワード
   Sub test()
For Each myFrame In ActiveDocument.Frames
  myFrame.Select
Next myFrame
End Sub

こんな感じで次々には、選択はしていますが、
そもそもレイアウト枠は同時に複数選択できるのでしょうか?
やりたい作業をもう少し細かく言って頂ければ、
もう少しお力になれるかもしれません。

▼timtamlover さん:
>レイアウト枠を検索したくてVBEのヘルプを探したら、
>↓のようなものを見つけました。
>
>ですが、このままだとドキュメント内の一番最初の
>レイアウト枠しか探せないみたいなんです。
>次から次へと検索する方法をご存知でしたら、教えて
>いただけないでしょうか。よろしくお願いします。
>
>Sub Macro1()
>With ActiveDocument.Content.Find
>  .Text = ""
>  .Frame.TextWrap = False
>  .Execute Forward:=True, Wrap:=wdFindContinue, Format:=True
>  If .Found = True Then StatusBar = "レイアウト枠がありました。"
>  .Parent.Select
>End With
>End Sub
・ツリー全体表示

【267】Re:全角、半角
回答  名乗るほどのものでは  - 05/3/30(水) 16:24 -

引用なし
パスワード
   altを押しながら押してみてください。
いくつかのケースが考えられるので、答えにならないかもしれませんが。

▼ほし さん:
>エスケープキーの横の半角、全角キーで昔は、ひらがな、英語入力の変換ができていたのに、今そこを押すと、‘というのが出てくるんですが、どうやったらもどりますか?
・ツリー全体表示

【266】全角、半角
質問  ほし  - 05/3/29(火) 16:30 -

引用なし
パスワード
   エスケープキーの横の半角、全角キーで昔は、ひらがな、英語入力の変換ができていたのに、今そこを押すと、‘というのが出てくるんですが、どうやったらもどりますか?
・ツリー全体表示

【265】レイアウト枠の検索
質問  timtamlover  - 05/3/25(金) 9:39 -

引用なし
パスワード
   レイアウト枠を検索したくてVBEのヘルプを探したら、
↓のようなものを見つけました。

ですが、このままだとドキュメント内の一番最初の
レイアウト枠しか探せないみたいなんです。
次から次へと検索する方法をご存知でしたら、教えて
いただけないでしょうか。よろしくお願いします。

Sub Macro1()
With ActiveDocument.Content.Find
  .Text = ""
  .Frame.TextWrap = False
  .Execute Forward:=True, Wrap:=wdFindContinue, Format:=True
  If .Found = True Then StatusBar = "レイアウト枠がありました。"
  .Parent.Select
End With
End Sub
・ツリー全体表示

【264】Re:スタイルと文字列の取得
回答  ABR  - 05/3/16(水) 17:19 -

引用なし
パスワード
   すみません、自己解決しました。
・ツリー全体表示

【263】スタイルと文字列の取得
質問  ABR  - 05/3/16(水) 13:21 -

引用なし
パスワード
   WORD文書内で特定のスタイルが設定された部分(文字列)を
取得する方法があると聞いたのですがご存知の方はいらっしゃいますでしょうか。

StylesプロパティやStyleプロパティの配下には
それらしきものは見当たらなかったのですが。

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

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