Word VBA質問箱 IV

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

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


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

【118】2、10、16進数ってなんですか?
質問  リリア  - 04/7/17(土) 18:18 -

引用なし
パスワード
   本当にこれが分からなくて困ってます。
詳しく教えてくれる方、もしくは詳しく説明がのっているHP知っている方がいたら教えて下さい。お願いします。
・ツリー全体表示

【117】差し込み印刷のページ指定
質問  penguin E-MAIL  - 04/7/13(火) 12:08 -

引用なし
パスワード
   wordでexcelのデータを差し込んで使っています。
2ページあるのですが両面印刷することになりました。
With ActiveDocument.MailMerge
    .Destination = wdSendToPrinter
    .SuppressBlankLines = True
    With .DataSource
      .FirstRecord = 1
      .LastRecord = 2
    End With
    .Execute Pause:=False
  End With
…のどこかに設定でできるのか?
よくわかりません。よろしくお願いします。
・ツリー全体表示

【116】Re:フォントチェック
発言  M  - 04/7/12(月) 12:32 -

引用なし
パスワード
   おつくりになられたマクロを開示していただけませんか?参考にしたいので。
 
・ツリー全体表示

【115】フォントチェック
質問  ryu E-MAIL  - 04/7/7(水) 11:33 -

引用なし
パスワード
   Word文書のフォントをチェックするマクロを作ったのですが、
非常に時間がかかり使い物になりません。
例えば、1バイトずつ、MS明朝か?MSゴシックか?と判断して、
それ以外のフォントを使用していた場合、
蛍光ペンでその対象の文字に色を付けていくといった感じです。
これに近いことをされた方、いらっしゃいませんか?
何かアドバイスいただければ幸いです。
・ツリー全体表示

【114】visual basic editorの読み込み。
質問  rschonh  - 04/7/2(金) 13:58 -

引用なし
パスワード
   Mac OS9を使用しております。Word をEnd Noteとlinkさせ使用しておりましたが、ある時から「visual basic editorを読み込むことができません。使用出来るメモリ容量が不足しているか、必要なライブラリファイルが削除または移動されている可能性があります。」とのメッセージが出てしまい、linkできなくなってしまいました。wordを立ち上げるたびにこのメッセージが出てしまいます。wordをインストールし直しましたが解決いたしません。ExcelやInternet Explorerの機能の一部も影響しているようです。アドバイスがございましたら、お教え下さい。よろしくお願いいたします。
・ツリー全体表示

【113】Re:数式エディタ
回答  しん E-MAIL  - 04/6/25(金) 3:07 -

引用なし
パスワード
   ▼ts さん:

>数式エディタを
wordから起動するには、word本体を起動して「ツール」→「ユーザ設定」→「コマンド」で、左側欄「分類」の「挿入」を選び、次いで右側欄「コマンド」の「√α Microsoft数式エディタ」をマウスで選択(ハイライト表示)し、waord本体のツールバーの適当な位置(通常はB,Iなどのツールの右側)にドラッグしてペーストします。
この方法でツールバーに数式エディタの記号「√α」が貼り付けられますので、wordで文章を書きながら、数式エディタを使いたい箇所でツールバーの記号「√α」をマウスでクリックすれば数式エディタモードになり、数式エディタが使えるようになります。
・ツリー全体表示

【112】Re:拡張メタファイルの貼り付け
お礼  きみこ  - 04/6/22(火) 23:34 -

引用なし
パスワード
   H. C. Shinopy さん!ありがとうございます!成功しました!!
長い質問にもかかわらず、何度もお答えいただきありがとうございました。
ペコm(_ _;m)三(m;_ _)mペコ
・ツリー全体表示

【111】Re:漢数字をアラビア数字に置き換えたい
回答  H. C. Shinopy  - 04/6/21(月) 22:23 -

引用なし
パスワード
   ちょっと修正します。
洋数字中に桁区切りカンマや小数点があることを考えて、
その時は数字が3つは並んでいるだろうという考え方をしたのですが、
ここでは、単に数字の間に「,」「.」があれば、
黄色蛍光ペン書式にするということでよいと思います。

「桁区切りカンマ・小数点付き洋数字を検索」の部分の「.Text = "[0-9,.]{3,}"」を
「.Text = "[0-9][,.]{1,1}[0-9]"」に修正します。

従って、マクロは下記の通り。

Sub 洋数字検索()
 Rem 洋数字検索処理
 Rem 言語:Word VBA
 Rem 機能:洋数字を検索して、蛍光ペン書式を設定する処理
 Rem 注記:洋数字検索を起動して使用。
 Rem 第1版:2004/06/20:作成。
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Assistant.Visible = True
 '
 With Assistant.NewBalloon
  .Animation = msoAnimationIdle
  .BalloonType = msoBalloonTypeButtons
  .Icon = msoIconAlertQuery
  .Button = msoButtonSetCancel
  .Heading = vbCr & "洋数字 検索処理"
  .Text = "選択して下さい。"
  .Labels(1).Text = "蛍光ペン書式 設定"
  .Labels(2).Text = "蛍光ペン書式 検索"
  .Labels(3).Text = "====="
  .Labels(4).Text = "====="
  .Labels(5).Text = "蛍光ペン書式 解除"
  .Mode = msoModeModeless
  .Callback = "洋数字検索Exec"
  .Show
 End With
End Sub ' 洋数字検索 *----*----*  *----*----*  *----*----*  *----*----*

Sub 洋数字検索Exec(blln As Balloon, bttn As Long, bllnID As Long)
 Dim myStartMarker As Word.Range
 Dim myResult As Integer
 '
 If bttn = -2 Then ' [キャンセル]ボタン時
  blln.Close
  Assistant.Visible = False
  Exit Sub
 End If
 '
 Select Case bttn
  Case 1
   Selection.HomeKey Unit:=wdStory
   Set myStartMarker = Selection.Range
   '
   Rem 1桁以上の洋数字を検索。
   With Selection.Find
    .ClearFormatting
    .Text = "[0-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
   '
   Do While Selection.Find.Execute
    Selection.Range.HighlightColorIndex = wdYellow
   Loop
   Selection.Collapse wdCollapseEnd
   myStartMarker.Select ' 検索後、開始点に戻る。
   '
   Rem 桁区切りカンマ・小数点付き洋数字を検索
   With Selection.Find
    .ClearFormatting
    .Text = "[0-9][,.]{1,1}[0-9]"
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindStop
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchFuzzy = False
    .MatchWildcards = True
   End With
   '
   Do While Selection.Find.Execute
    Selection.Range.HighlightColorIndex = wdYellow
   Loop
   '
   Selection.Collapse wdCollapseEnd
   myStartMarker.Select ' 検索後、開始点に戻る。
   Assistant.Animation = msoAnimationCharacterSuccessMajor
  ' *====*====*====*====*
  Case 2
   With Selection.Find
    .ClearFormatting
    .Text = ""
    .Highlight = True ' 蛍光ペン書式を検索することを指定
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindStop
    .Execute
   End With
   '
   Assistant.Animation = msoAnimationGestureRight
   ' *====*====*====*====*
  Case 3
   Rem 何も処理しない。
   ' *====*====*====*====*
  Case 4
   Rem 何も処理しない。
   ' *====*====*====*====*
  Case 5
   myResult = MsgBox("蛍光ペン書式を" & "解除しますか?", vbExclamation + vbOKCancel, "洋数字検索")
   If myResult = vbCancel Then
    If Tasks.Exists(Name:="Microsoft Word") = True Then
     Tasks("Microsoft Word").Activate
    End If
    Exit Sub
   End If
   '
   Set myStartMarker = Selection.Range
   Selection.Words(1).Select
   Selection.Collapse wdCollapseStart
   '
   With Selection.Find
    .ClearFormatting
    .Highlight = True ' 蛍光ペン書式を検索することを指定
    .Text = ""
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindContinue
   End With
   '
   Do While Selection.Find.Execute
    With Selection.Range
     .HighlightColorIndex = wdNoHighlight
    End With
    Selection.Collapse wdCollapseEnd
   Loop
   '
   myStartMarker.Select ' 検索後、開始点に戻る。
   Assistant.Animation = msoAnimationCharacterSuccessMajor
 End Select
 '
 If Tasks.Exists(Name:="Microsoft Word") = True Then
  Tasks("Microsoft Word").Activate
 End If
End Sub ' 洋数字検索Exec *----*----*  *----*----*  *----*----*
・ツリー全体表示

【110】Re:Wordのルビを青空文庫形式のふりがなに...
お礼  きの  - 04/6/21(月) 10:30 -

引用なし
パスワード
   >Wordのルビは、フィールドの挿入という形になっていますので、
>とにかく、フィールドとなっている部分を
>「青空文庫形式のフリガナ」に
>無理やり置き換える処理をするようにしました。
>
>ルビ以外の挿入されたフィールド(日付表示とか分数表示とか)があると、
>使用不可。

投稿後

  Selection.NextField.Select
  Selection.Cut
  Selection.TypeText Text:="|"
  Selection.PasteAndFormat (wdPasteText)

でとりあえずルビフィールドをテキスト形式でカットアンドペーストして
後からまとめて()を《》に挿入できないかなぁ、
と試行錯誤していたのですが、うまくいかなったのでこのマクロ助かりました。

フィールドってルビとか日付とか識別方法あれば青空文庫変換として
汎用に使えるのでしょうが、
自分の目的にはこれで十分すぎるほどです。ありがとうございます。
・ツリー全体表示

【109】Re:漢数字をアラビア数字に置き換えたい
回答  H. C. Shinopy  - 04/6/21(月) 0:00 -

引用なし
パスワード
   随分と日が経ってしまいましたが・・・
Officeアシスタントをモードレスで起動して、
既に洋数字に置き換えられたものをワイルドカードで検索して、
黄色の蛍光ペン書式にするということで考えました。

下記のマクロを起動し、
[蛍光ペン書式 設定]をクリックして下さい。
洋数字の部分が、黄色の蛍光ペン書式になります。

その後、[蛍光ペン書式 検索]をクリックして、順次確認できますが、
漢数字に戻したい場合は、この検索で文字列が選択された状態で、
スペースキーを押すと、変換候補が表示されるので、
スペースキーを数回押して、変換候補を選択し、
[蛍光ペン書式 検索]を押して下さい。
(次の蛍光ペン書式の文字列を検索します。
この時、変換確定のための実行キーを押す必要はありません。)

[蛍光ペン書式 解除]は、蛍光ペン書式を全部解除します。

尚、Officeアシスタントは五者択一ですが、
[3][4]の処理は作っておりません。

私の環境はWord2002・IME2002です。
私が調べた範囲では、
2000でも同様にできると思うのですが・・・

Sub 洋数字検索()
 Rem 洋数字検索処理
 Rem 言語:Word VBA
 Rem 機能:洋数字を検索して、蛍光ペン書式を設定する処理
 Rem 注記:洋数字検索を起動して使用。
 Rem 第1版:2004/06/20:作成。
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Assistant.Visible = True
 '
 With Assistant.NewBalloon
  .Animation = msoAnimationIdle
  .BalloonType = msoBalloonTypeButtons
  .Icon = msoIconAlertQuery
  .Button = msoButtonSetCancel
  .Heading = vbCr & "洋数字 検索処理"
  .Text = "選択して下さい。"
  .Labels(1).Text = "蛍光ペン書式 設定"
  .Labels(2).Text = "蛍光ペン書式 検索"
  .Labels(3).Text = "====="
  .Labels(4).Text = "====="
  .Labels(5).Text = "蛍光ペン書式 解除"
  .Mode = msoModeModeless
  .Callback = "洋数字検索Exec"
  .Show
 End With
End Sub ' 洋数字検索 *----*----*  *----*----*  *----*----*  *----*----*

Sub 洋数字検索Exec(blln As Balloon, bttn As Long, bllnID As Long)
 Dim myStartMarker As Word.Range
 Dim myResult As Integer
 '
 If bttn = -2 Then ' [キャンセル]ボタン時
  blln.Close
  Assistant.Visible = False
  Exit Sub
 End If
 '
 Select Case bttn
  Case 1
   Selection.HomeKey Unit:=wdStory
   Set myStartMarker = Selection.Range
   '
   Rem 1桁以上の洋数字を検索。
   With Selection.Find
    .ClearFormatting
    .Text = "[0-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
   '
   Do While Selection.Find.Execute
    Selection.Range.HighlightColorIndex = wdYellow
   Loop
   Selection.Collapse wdCollapseEnd
   myStartMarker.Select ' 検索後、開始点に戻る。
   '
   Rem 桁区切りカンマ・小数点付き洋数字を検索
   With Selection.Find
    .ClearFormatting
    .Text = "[0-9,.]{3,}"
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindStop
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchFuzzy = False
    .MatchWildcards = True
   End With
   '
   Do While Selection.Find.Execute
    Selection.Range.HighlightColorIndex = wdYellow
   Loop
   '
   Selection.Collapse wdCollapseEnd
   myStartMarker.Select ' 検索後、開始点に戻る。
   Assistant.Animation = msoAnimationCharacterSuccessMajor
  ' *====*====*====*====*
  Case 2
   With Selection.Find
    .ClearFormatting
    .Text = ""
    .Highlight = True ' 蛍光ペン書式を検索することを指定
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindStop
    .Execute
   End With
   '
   Assistant.Animation = msoAnimationGestureRight
   ' *====*====*====*====*
  Case 3
   Rem 何も処理しない。
   ' *====*====*====*====*
  Case 4
   Rem 何も処理しない。
   ' *====*====*====*====*
  Case 5
   myResult = MsgBox("蛍光ペン書式を" & "解除しますか?", vbExclamation + vbOKCancel, "洋数字検索")
   If myResult = vbCancel Then
    If Tasks.Exists(Name:="Microsoft Word") = True Then
     Tasks("Microsoft Word").Activate
    End If
    Exit Sub
   End If
   '
   Set myStartMarker = Selection.Range
   Selection.Words(1).Select
   Selection.Collapse wdCollapseStart
   '
   With Selection.Find
    .ClearFormatting
    .Highlight = True ' 蛍光ペン書式を検索することを指定
    .Text = ""
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindContinue
   End With
   '
   Do While Selection.Find.Execute
    With Selection.Range
     .HighlightColorIndex = wdNoHighlight
    End With
    Selection.Collapse wdCollapseEnd
   Loop
   '
   myStartMarker.Select ' 検索後、開始点に戻る。
   Assistant.Animation = msoAnimationCharacterSuccessMajor
 End Select
 '
 If Tasks.Exists(Name:="Microsoft Word") = True Then
  Tasks("Microsoft Word").Activate
 End If
End Sub ' 洋数字検索Exec *----*----*  *----*----*  *----*----*
・ツリー全体表示

【108】Re:Wordのルビを青空文庫形式のふりがなに...
回答  H. C. Shinopy  - 04/6/19(土) 23:18 -

引用なし
パスワード
   大変、愚直な算法ですが、
下のマクロで良ければ・・・

Wordのルビは、フィールドの挿入という形になっていますので、
とにかく、フィールドとなっている部分を
「青空文庫形式のフリガナ」に
無理やり置き換える処理をするようにしました。

ルビ以外の挿入されたフィールド(日付表示とか分数表示とか)があると、
使用不可。

Sub myFieldToAozoraFurigana()
 Dim myField As Field
 Dim myText As String
 Dim myCount As Integer
 '
 If ActiveDocument.Fields.Count <= 0 Then
  MsgBox "フィールドなし。"
  Exit Sub
 End If
 '
 Selection.WholeStory
 Selection.copy
 Selection.Collapse wdCollapseStart
 Documents.Add DocumentType:=wdNewBlankDocument
 Selection.PasteAndFormat (wdPasteDefault)
 Selection.HomeKey Unit:=wdStory
 '
 For Each myField In ActiveDocument.Fields
  myField.Select
  myField.ShowCodes = True
  myText = Selection.Range.Text
  myCount = InStrRev(myText, "(")
  myText = Mid(myText, myCount)
  myCount = Len(myText)
  myText = Left(myText, myCount - 2)
  myCount = InStr(myText, ",")
  myText = "|" & Mid(myText, myCount + 1) & Left(myText, myCount - 1)
  myText = Replace(myText, "(", "《")
  myText = Replace(myText, ")", "》")
  myField.Delete
  Selection.InsertBefore (myText)
 Next myField
 '
 Selection.Collapse wdCollapseEnd
 Selection.HomeKey Unit:=wdStory
 '
 With Dialogs(wdDialogFileSaveAs)
  .Show
 End With
End Sub
・ツリー全体表示

【107】セルの入れ替え
質問  M  - 04/6/17(木) 20:11 -

引用なし
パスワード
   Wordでセルをいれかえるということは、できるんでしょうか?
たとえば3列5行の表があり、
すべての行に文字が入ってるとします。
その中の、3列目の2行目と3行目を入れ替える方法、
知ってる方いましたら、おしえてください。
・ツリー全体表示

【106】Wordのルビを青空文庫形式のふりがなに...
質問  きの  - 04/6/16(水) 2:55 -

引用なし
パスワード
   Wordでちょっとした文章を書いていたのですが、
ルビを振った文章をTXT形式にして人に渡そうと思っています。
携帯端末などのリーダーでは青空文庫形式のふりがなにすれば読むときに
ルビを再現できるのでそのようにしたいと思っています。
このような操作をなにか簡単にできる方法あるでしょうか?

普通のTXT形式でセーブしてしまうと途中にひらがなとかが入っていたり、
漢字が連続するとリーダー側でルビ振りするときに都合が悪い出力になるので、
青空文庫形式のふりがなで、

武州|青梅《おうめ》の宿

のように|ではじまり《》の形式でふりがな付けをしたいのです。

これを実現するよい方法がありましたらどなたか教えていただきたく、
どうぞよろしくお願いいたします。

なお、使用しているWordは2003です。
・ツリー全体表示

【105】文字化けが…
質問  しん  - 04/6/4(金) 20:44 -

引用なし
パスワード
   今日、久しぶりにwordを起動したのですが文字化けをしてしまうのです。
たとえば使用と変換すると使N(Nの上に〜がついています)
洋とやるとA(やはりAにも〜がついています)
望むと変換すると(logがでたり)今日ざっと文章を打っているだけで何個も見つけてしまいました。
このままではなにも出来なくなってしまいます。
どうすればよいのでしょうか?
・ツリー全体表示

【104】漢数字をアラビア数字に置き換えたい
質問  bunya  - 04/5/31(月) 9:28 -

引用なし
パスワード
    新聞社に勤務しています。今度HPを立ち上げますが、紙面の記事は縦書きですが、HPは横書きですので、本紙記事のTEXTデータ中の漢数字をアラビア数字に置き換える必要が出て来ました。そこで、置き換え後にも本紙との再確認のため、アラビア数字の部分のみ黄色などで網掛け出来るようなマクロがほしいです。
 バージョンはWord2000です。

 何方かお知恵を貸してください。よろしくお願いします。
・ツリー全体表示

【103】数式エディタ
質問  ts  - 04/5/30(日) 11:57 -

引用なし
パスワード
   wordに数式エディタがはいってなくていれたいのですが
コントロールパネル→追加削除→数式エディタ→実行して更新したのですが
ファイルがみつかりませんでエラーが出ます。
officeのcdをいれても起動しないです。
こわれてるのでしょうか?
数式エディタをとるにはどうやればいいでしょうか?
誰かわかりやすくおしえてください。
・ツリー全体表示

【102】Re:文書に貼り付けた写真をjpeg形式で...
回答  H. C. Shinopy  - 04/5/27(木) 23:46 -

引用なし
パスワード
   「同じ配置で、1ページ内に収めたい」とのことですが、
Word文書のあちこちにある全ページの画像を1つの画像にするということですか?
いろいろな条件付きで、Microsoft Publisher連携での半自動処理になりますが、
それで宜しければ・・・

Publisherの画像データを右クリックして
[図として保存]で保存できるのを利用します。
(PowerPointにも同じ機能があるのですが、
スライドからはみ出た部分が削られてしまうので、この案はボツ。
Excelのグラフ機能にも[図として保存]がありますが、
2ページ目以降のデータを処理しませんので、これもボツです。)
それから最新版であるWord2003・Publisher2003のVBAではどうなのか、
情報が欲しいところですが・・・

余り判らない点もあり、
結果として酔っ払いが作ったようなマクロになりました。

・画像データは、[テキストの折り返し]で[行内]に配置されているものとします。
 (行内が指定されていないと、なぜか画像データとして処理されません。)

・処理の途中で「形式を選択して貼り付け」ダイアログボックスが表示されるので、
 (Publisher VBAでは、形式を指定して貼り付けをするメソッドがないのか?)
 [貼り付け]ラジオボタン・[新しい表]を指定して、[OK]をクリックします。

・処理が済んだ後、次の手作業が必要です。
 Publisher文書上に画像データがテキストボックス内の表として
 貼り付けされているので、手作業で画像データの横幅を確認します。
 (元のWord文書上の画像が単に縦1列に配置されていただけの場合は、確認不要です。)
 画像の右側部分が隠れている場合は、マウスでテキストボックスと中にある表を右へ広げます。
 画像データを右クリックして、[図として保存]を選択し、
 ファイル名とファイル形式を指定して保存します。

Sub myPicPasteSemiAuto()
 Rem 文書全体を表として(文字列・画像も含めて)
 Rem Publisherへ貼り付けする半自動処理
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Rem 参照設定:Microsoft Publisher 10.0 Object Library
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Dim myShape As InlineShape
 Dim myPublisher As Publisher.Application
 Dim myWidthMax As Long
 '
 Dim myCmmdBar As CommandBar
 Dim myCtrl As CommandBarControl
 '
 myWidthMax = -1
 For Each myShape In ActiveDocument.InlineShapes
  If myShape.Width > myWidthMax Then
   myWidthMax = myShape.Width
  End If
 Next myShape
 If myWidthMax = -1 Then
  MsgBox "行内に配置した画像データなし"
  Exit Sub
 End If
 '
 Selection.WholeStory
 Selection.Copy
 Selection.Collapse
 '
 Set myPublisher = CreateObject("Publisher.Application")
 myPublisher.NewDocument
 myPublisher.ActiveWindow.Visible = True
 '
 Set myCmmdBar = myPublisher.Application.CommandBars("Edit") ' 編集
 Set myCtrl = myCmmdBar.FindControl(ID:=755) ' 形式を指定して貼り付け
 myCtrl.Execute
 Rem [新しい表]を指定。
 '
 Rem MsgBox myPublisher.Selection.ShapeRange.Width ' 試行用
 Rem myPublisher.Selection.ShapeRange.Item(1).Width = 300 ' 試行用
 '
 If myPublisher.Selection.ShapeRange.Item(1).HasTable = msoTrue Then
  myPublisher.Selection.ShapeRange.Item(1).Table.Columns.Item(1).Width = myWidthMax
 End If
 '
 Set myShape = Nothing
 Set myPublisher = Nothing
 Set myCmmdBar = Nothing
 Set myCtrl = Nothing
End Sub ' myPicPasteSemiAuto
・ツリー全体表示

【101】Re:拡張メタファイルの貼り付け
回答  H. C. Shinopy  - 04/5/27(木) 23:17 -

引用なし
パスワード
   myShapeBehindText2が異常終了したようで・・・
御手数をお掛けさせてしまったようです。
下記の通り修正しました。
誠に申し訳ないです。

「Dim myCmmdBar As CommandBars」を「Dim myCmmdBar As CommandBar」に、

「Set myCtrl = myCmmBar.FindContro(ID:=1404)」 は脱字、
「Set myCtrl = myCmmdBar.FindControl(ID:=1404)」に、

「myCtrl.Controls(4).DescriptionText」は「MsgBox myCtrl.Controls(4).DescripitionText」に一本化。
(これは処理内容確認のためで、異常がないなら、後でコメント行にして下さい。)

「For i = 0 To ActiveDocument.InlineShapes.Count - 1」は
「For i = ActiveDocument.InlineShapes.Count To 1 Step -1」に修正。
この部分は、私の不覚!
行内に配置された画像データは0からではなく1から始まるのでした。
(配列と勘違いしました。)
それと、画像を背面に移動する処理を、挿入した逆順に処理するようにしました。
行内に配置された画像データを背面に移動させるということは、
行内に配置された画像が削除されたのと同じ状態になるわけです。
・・・と言うことは、
画像データは、挿入処理後に(おそらく挿入が済んだ後で)、
時間的に挿入された順番に「InlineShape(1)・・・」のように自動で付番されるのですが、
1から順に処理すると、画像データ(1)が消滅して、
次の画像データ(2)が再び(1)から付番されることになり、
処理が変になるのでした!

「Selection.Collapse」を追加。これは画像データの選択の解除。

修正したマクロは以下の通り。(陳謝!)

Sub myShapeBehindText2()
 Dim myCmmdBar As CommandBar
 Dim myCtrl As CommandBarControl
 Dim i As Integer
 '
 Set myCmmdBar = ActiveDocument.CommandBars("Picture") ' [図]ツールバー
 Set myCtrl = myCmmdBar.FindControl(ID:=1404) ' [テキストの折り返し]ボタン
 '
 For i = ActiveDocument.InlineShapes.Count To 1 Step -1
  ActiveDocument.InlineShapes.Item(i).Select ' 図の選択
  myCtrl.Controls(4).Execute ' [テキストの折り返し]上から4番目[背面]
  MsgBox myCtrl.Controls(4).DescriptionText ' 処理の説明
 Next i
 '
 Selection.Collapse
End Sub
・ツリー全体表示

【100】Re:拡張メタファイルの貼り付け
質問  きみこ  - 04/5/27(木) 11:13 -

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

先日はありがとうございました.
実はプログラムを今まで使ったりしたことがなかったので,
1文1文,意味を理解しながら,試しました.

先日教えてもらったのを参考に以下のマクロを作りました.

実行すると,「エラー13 型が一致しません」
となりました.これは,わたしのWordが2000で,H. C. Shinopyさんのが2002
だからなのでしょうか?

お忙しいことと思いますが,
もしよければ教えてください.ほんと,ひとつの話題でこんなにもしつこくて,すいません..

****************************************

Sub Macro2()
'
' Macro2 Macro
' 記録日 2004/05/24 記録者 TSUZAN
'
    Selection.InlineShapes.AddPicture FileName:= _
    "C:\WORK\SENC21\2004\matusima\EMF\W2.40.1.emf", LinkToFile:=False, _
    SaveWithDocument:=True
  Selection.TypeBackspace
  Selection.InlineShapes(1).Fill.Visible = msoFalse
  Selection.InlineShapes(1).Fill.Transparency = 0#
  Selection.InlineShapes(1).Line.Weight = 0.75
  Selection.InlineShapes(1).Line.Transparency = 0#
  Selection.InlineShapes(1).Line.Visible = msoFalse
  Selection.InlineShapes(1).LockAspectRatio = msoTrue
  Selection.InlineShapes(1).Height = 379.45
  Selection.InlineShapes(1).Width = 407.8
  Selection.InlineShapes(1).PictureFormat.Brightness = 0.5
  Selection.InlineShapes(1).PictureFormat.Contrast = 0.5
  Selection.InlineShapes(1).PictureFormat.ColorType = msoPictureAutomatic
  Selection.InlineShapes(1).PictureFormat.CropLeft = 0#
  Selection.InlineShapes(1).PictureFormat.CropRight = 0#
  Selection.InlineShapes(1).PictureFormat.CropTop = 0#
  Selection.InlineShapes(1).PictureFormat.CropBottom = 0#
  Selection.MoveRight Unit:=wdCharacter, Count:=1
  Selection.TypeParagraph
  Selection.TypeParagraph
  Selection.InsertBreak Type:=wdPageBreak


  Selection.InlineShapes.AddPicture FileName:= _
    "C:\WORK\SENC21\2004\matusima\EMF\W2.40.2.emf", LinkToFile:=False, _
    SaveWithDocument:=True
  Selection.TypeBackspace
  Selection.InlineShapes(1).Fill.Visible = msoFalse
  Selection.InlineShapes(1).Fill.Transparency = 0#
  Selection.InlineShapes(1).Line.Weight = 0.75
  Selection.InlineShapes(1).Line.Transparency = 0#
  Selection.InlineShapes(1).Line.Visible = msoFalse
  Selection.InlineShapes(1).LockAspectRatio = msoTrue
  Selection.InlineShapes(1).Height = 379.45
  Selection.InlineShapes(1).Width = 407.8
  Selection.InlineShapes(1).PictureFormat.Brightness = 0.5
  Selection.InlineShapes(1).PictureFormat.Contrast = 0.5
  Selection.InlineShapes(1).PictureFormat.ColorType = msoPictureAutomatic
  Selection.InlineShapes(1).PictureFormat.CropLeft = 0#
  Selection.InlineShapes(1).PictureFormat.CropRight = 0#
  Selection.InlineShapes(1).PictureFormat.CropTop = 0#
  Selection.InlineShapes(1).PictureFormat.CropBottom = 0#
  Selection.MoveRight Unit:=wdCharacter, Count:=1
  Selection.TypeParagraph
  Selection.TypeParagraph
  Selection.InsertBreak Type:=wdPageBreak
  
  Selection.InlineShapes.AddPicture FileName:= _
    "C:\WORK\SENC21\2004\matusima\EMF\W2.40.3.emf", LinkToFile:=False, _
    SaveWithDocument:=True
  Selection.TypeBackspace
  Selection.InlineShapes(1).Fill.Visible = msoFalse
  Selection.InlineShapes(1).Fill.Transparency = 0#
  Selection.InlineShapes(1).Line.Weight = 0.75
  Selection.InlineShapes(1).Line.Transparency = 0#
  Selection.InlineShapes(1).Line.Visible = msoFalse
  Selection.InlineShapes(1).LockAspectRatio = msoTrue
  Selection.InlineShapes(1).Height = 379.45
  Selection.InlineShapes(1).Width = 407.8
  Selection.InlineShapes(1).PictureFormat.Brightness = 0.5
  Selection.InlineShapes(1).PictureFormat.Contrast = 0.5
  Selection.InlineShapes(1).PictureFormat.ColorType = msoPictureAutomatic
  Selection.InlineShapes(1).PictureFormat.CropLeft = 0#
  Selection.InlineShapes(1).PictureFormat.CropRight = 0#
  Selection.InlineShapes(1).PictureFormat.CropTop = 0#
  Selection.InlineShapes(1).PictureFormat.CropBottom = 0#
  Selection.MoveRight Unit:=wdCharacter, Count:=1
  Selection.TypeParagraph
  Selection.TypeParagraph
  Selection.InsertBreak Type:=wdPageBreak
  
 Call myShapeBehindText2
End Sub

Sub myShapeBehindText2()
'Dim my Shape As InlineShapes
Dim myCmmdBar As CommandBars
Dim myCtrl As CommandBarControl
Dim i As Integer
'

Set myCmmdBar = ActiveDocument.CommandBars("Picture")
Set myCtrl = myCmmBar.FindContro(ID:=1404)
'
For i = 0 To ActiveDocument.InlineShapes.Count - 1
ActiveDocument.InlineShapes.Item(i).Select
myCtrl.Controls(4).DescriptionText
' MsgBox myCtrl.Controls(4).DescripitionText '
Next i
'For Each myShape In ActiveDocument.InlineShapes
'myShape.ZOrder msoSendBehindText
'Set myCtrl = myCmmBar.FindControl(ID:=4000)
'myCtrl.Execute
'Next myShape

End Sub

*************************************
・ツリー全体表示

【99】文書に貼り付けた写真をjpeg形式で保存...
質問  ハルコ  - 04/5/21(金) 8:23 -

引用なし
パスワード
   みなさん、こんにちは。
はじめて投稿させていただきます。
実は、ワード文書に貼り付けた写真データ(GIF形式)を、マクロを使って、J
PEG形式に変換し、ペイントを利用して別ファイルで保存したいのです。これは、容量を縮小する
ために行うためです。その写真データは1ページ内で最低で1つ、最大で8つ
、と色々な種類があり、これらが数ページになるときもあります。その際、別
ファイルに保存する時も、ワードの時と同じ配置で、1ページ内に収めたいの
ですが、こんな都合の良いマクロって、あるのでしょうか?どなたか、ご存知
の方いらっしゃいましたご教授願います。宜しくおねがいします。
・ツリー全体表示

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