Word VBA質問箱 IV

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

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


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

【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ページ内に収めたいの
ですが、こんな都合の良いマクロって、あるのでしょうか?どなたか、ご存知
の方いらっしゃいましたご教授願います。宜しくおねがいします。
・ツリー全体表示

【97】Re:フォントの自動切換えなんてあるでしょう...
回答  H. C. Shinopy  - 04/5/17(月) 22:26 -

引用なし
パスワード
   御質問の内容が・・・
フォントの既定値設定の話であれば、(1)
和英混在入力の話でしたら、(2)
どちらも、Word 2000 / 2002で有効のはずですが、
私の環境はWord 2002なので断定はできません。

(1)指定したフォントを既定とする設定方法。
[書式]メニューの[フォント]を選択し、
[フォント]タブをクリックする。
[日本語用のフォント]と[英数字用のフォント]を指定し、
[既定値として設定...]ボタンをクリックする。
=>これをすると、新規文書が総てその設定になります。

(2)決められた文字を入力すると、
半角英数モードに自動で切り替えるようにする設定方法。
(IMEの設定です)
言語バーの[ツール]ボタンをクリックし、
[プロパティ]を選択する。
[和英混在入力]タブをクリックし、
[対象文字列を自動で英数に変換する]がチェックされている(既定)のを
確認する。
[対象文字列]と[対象文字列変換後の入力モード]を入力指定。

例えば、既定では「www.」が既に指定してあるため、
日本語の入力モードであっても、キーを「www.」と打つと、
自動的に英数文字入力文字が入力できる。
但し、実行キーを押すと、再び日本語入力モードになる。
(私が試したところ、微妙に反応が異なりますが、
変換キーを押しても可能でした。)
=>この場合だと、あり得ない文字並びを対象文字列に指定して、
後で検索・置換で削除とか・・・

この話、お役に立ちますか?
・ツリー全体表示

【96】フォントの自動切換えなんてあるでしょうか?
質問  word質問太郎  - 04/5/14(金) 20:55 -

引用なし
パスワード
   WORDで、日本語を書くときのフォントは明朝、半角英数字を書くときはMSゴジックに自動的に切り替わる設定方法なんてありますでしょうか?
日本語と英数字をまぜて書くことが多いので、自動切換えがあると助かります。

よろしくお願いいたしますm(__)m

WORD2000
OS;XP
・ツリー全体表示

【95】文字変換でMSゴシックを選ぶとMS明朝?に変...
質問  Jaka  - 04/5/14(金) 16:54 -

引用なし
パスワード
   こんにちは。
こちら側は、初めてです。

Win2000 & Word97 SR-2 & IME2000 において、MSゴシックが、まともに使えなくなりました。

書式 → フォント では、
日本語用のフォント MSゴシック
英数字用のフォント (日本語用と同じフォント)

となっています。

例えば新規にワードを立ち上げて、IMEオフ状態でテンキーより数字を入力した時は、MSゴシックですが
数字を選択して、ツールバーのフォントよりMSゴシックを選ぶと、MS明朝みたいな感じに変わってしまいます。
以後の改行で、その状態が続いてしまうのにも困っています。

因みにMS明朝やMSP明朝等他よく使いそうなフォントに変えても変化出ません。
唯一特殊なフォント HG、DH などに変えると変わります。

これってどうなっているのでしょうか?
・ツリー全体表示

【94】Re:拡張メタファイルの貼り付け
お礼  きみこ  - 04/4/30(金) 15:56 -

引用なし
パスワード
   ▼H. C. Shinopy さん:
ありがとうございます。
時間をかけてゆっくり試している最中です。
うまくいったらまたご連絡します♪
ほんとうにありがとうございます。
・ツリー全体表示

【93】Re:右揃えでスペースを入れると文字入力範囲...
お礼  トトロ E-MAIL  - 04/4/26(月) 10:49 -

引用なし
パスワード
   ご指導有難うございました。
試験問題をやる時に、チェックを外してしまっていた可能性がありました。
・ツリー全体表示

【92】Re:右揃えでスペースを入れると文字入力範囲...
回答  H. C. Shinopy  - 04/4/25(日) 22:56 -

引用なし
パスワード
   私は、Word2002を使っていますが、
(お役に立てるかどうか・・・)
これまた、行末に空白を入れようとすると、
余白に送られるようになっています。
これを変更するのは、下記の通りとなります。

これから作成する文書全体について
(また、それ以降の文書も)対処する場合、
1.メニューバーの[ツール]から[オートコレクトのオプション...]を選ぶ。
2.[入力オートフォーマット]タブをクリックして選ぶ。
3.[Tab/Space/BackSpaceキーでインデントとタブの設定を変更する]をオンにする。。
4.[OK]ボタンをクリックする。

その段落だけについて、対処する場合は、
次の通りになります。
(この話は、いずれも段落ごとの設定になります。
複数の段落に設定する場合は、
設定したい段落全体を選択しておきます。)

1.末尾に空白を入れたい右揃えの行にカーソルを置く。
2.メニューバーの[書式]から[段落...]を選ぶ。
3.[体裁]タブをクリックして選ぶ。
4.[英単語の途中で改行する]をオンにする。
5.[OK]ボタンをクリックする。

これも、その段落ごとの設定になりますが、
文書の上にあるルーラーの右インデントを操作する場合、
1.末尾に空白を入れたい右揃えの行にカーソルを置く。
2.ルーラーの[右インデント]マーカーを移動したい位置まで左へドラッグする。
この場合は、何文字分左へ寄せたか判りにくいのですが、
末尾に空白を入れてみれば判ると思います。
・ツリー全体表示

【91】右揃えでスペースを入れると文字入力範囲外...
質問  トトロ E-MAIL  - 04/4/24(土) 9:51 -

引用なし
パスワード
   よろしくお願いいたします。
いつからか、行を右揃えに設定して、右端にスペースを入力すると余白部分に出て行きます。本来ならばスペースを入力した分左に寄っていくはずなのですが・・何か設定をさわっていますか・・?
Word2000 WindowsXPです。
・ツリー全体表示

【90】Re:拡張メタファイルの貼り付け
回答  H. C. Shinopy  - 04/4/17(土) 22:17 -

引用なし
パスワード
   あいや〜! 再度試行すると、うまくいきませんね。
「For Each myShape・・・〜Next MyShape」で図が選択できない上、
「myShape.ZOrder msoSendBehindText」が働かない!
クリップアートの図では問題なかったのに、
ファイルから挿入した図は別物扱いされるのかな?
手作業ではできるのにVBAではできない・・・
<<(@o@)>> {ムンク〜!]

いろいろやってみたのですが、
次のようなマクロになりました。
(こちらではemfファイがないので、手持ちのgifファイルで試行しました。)
背面処理は改めて作り変え、Macro2末尾で処理を実行するようしています。
苦肉の策でツールバー操作をVBAで処理するようにしたのですが、
これまた単純ではないようで、紆余曲折して動くようにしました。
こちらはWord2002で環境が異なるのですが、取り敢えず参考までに。

Sub Macro2()
' 記録日 2004/04/14 記録者 KIMIKO
'
 Selection.InlineShapes.AddPicture FileName:="C:\Documents and Settings\User\My Documents\My Pictures\Zzz\shimane_01.gif", _
    LinkToFile:=False, SaveWithDocument:=True
 Selection.TypeBackspace
 With Selection.InlineShapes(1)
  .Fill.Visible = msoFalse
  .Fill.Transparency = 0#
  .Line.Weight = 0.75
  .Line.Transparency = 0#
  .Line.Visible = msoFalse
  .LockAspectRatio = msoTrue
  .Height = 269.04
  .Width = 486.75
  .PictureFormat.Brightness = 0.5
  .PictureFormat.Contrast = 0.5
  .PictureFormat.ColorType = msoPictureAutomatic
  .PictureFormat.CropLeft = 0#
  .PictureFormat.CropRight = 0#
  .PictureFormat.CropTop = 0#
 End With
 With Selection
  .MoveRight Unit:=wdCharacter, Count:=1
  .TypeParagraph
  .TypeParagraph
  .InsertBreak Type:=wdPageBreak
 End With
 ' ====
 Selection.InlineShapes.AddPicture FileName:="C:\Documents and Settings\User\My Documents\My Pictures\岡井路子.gif", _
    LinkToFile:=False, SaveWithDocument:=True
 Selection.TypeBackspace
 With Selection.InlineShapes(1)
  .Fill.Visible = msoFalse
  .Fill.Transparency = 0#
  .Line.Weight = 0.75
  .Line.Transparency = 0#
  .Line.Visible = msoFalse
  .LockAspectRatio = msoTrue
  .Height = 269.04
  .Width = 486.75
  .PictureFormat.Brightness = 0.5
  .PictureFormat.Contrast = 0.5
  .PictureFormat.ColorType = msoPictureAutomatic
  .PictureFormat.CropLeft = 0#
  .PictureFormat.CropRight = 0#
  .PictureFormat.CropTop = 0#
 End With
 With Selection
  .MoveRight Unit:=wdCharacter, Count:=1
  .TypeParagraph
  .TypeParagraph
  .InsertBreak Type:=wdPageBreak
 End With
 ' ====
 Call myShapeBehindText2
End Sub

Sub myShapeBehindText2()
 ' Dim myShape As InlineShapes
 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 = 0 To ActiveDocument.InlineShapes.Count - 1
  ActiveDocument.InlineShapes.Item(i).Select ' 図の選択
  myCtrl.Controls(4).Execute ' [テキストの折り返し]上から4番目[背面]
  ' MsgBox myCtrl.Controls(4).DescriptionText ' 処理の説明
 Next i
 ' ↓なぜか動作しない
 ' For Each myShape In ActiveDocument.InlineShapes
  ' myShape.ZOrder msoSendBehindText ' ←↓なぜか動作しない
  ' Set myCtrl = myCmmdBar.FindControl(ID:=4000) ' [テキストの折り返し]-[背面]
  ' myCtrl.Execute ' ツールバー実行
 ' Next myShape
End Sub
・ツリー全体表示

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