Word VBA質問箱 IV

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

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


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

【688】Re:連番とインデントを設定したい。
発言  りる  - 10/5/5(水) 11:17 -

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

>4行目の 6.6 が 13.2
>7,8行目の 22 が 28.6 に変わります。
両方に6.6が足されている感じですよね。

そのまんまのマクロで、文字列全部選択して実行したらうまく行ったような気がします(実際の文字列がどんな風になっているのかわからないので適当に入れた文章でしたが)。
・ツリー全体表示

【687】Re:Wordの章、項、目のスタイル設定
発言  りる  - 10/5/5(水) 10:37 -

引用なし
パスワード
   花丸 さん、こんにちは。
かなり遅いですが。

>Wordのスタイル設定で質問があります。
>Wordで章、項、目をスタイルを使って設定しようと思います。

オフライン時のヘルプの「1 行に複数の段落番号を付ける」に書いてあるとおりにアウトラインを設定し、1.1.1.となっている書式のレベル1を「第1章」に変更しみたところお望みの結果(のよう)になりました。
・ツリー全体表示

【686】Re:脚注番号のフォントを調節するには?
回答  りる  - 10/5/5(水) 10:00 -

引用なし
パスワード
   ポンタ さん、こんにちは。
もう見ていないかもしれませんが、チェックしている人もいるようなので書いておきます。

>脚注のフォントサイズを調節する方法は、
>
>For i = 1 To ActiveDocument.Footnotes.Count
> ActiveDocument.Footnotes.Item(i).Range.Font.Size=フォントサイズ
>Next i
>
>でできますが、これだと、脚注番号のフォントサイズは元のままです。
>
>脚注番号のフォントサイズも調節する方法はありますか?

それらしいObjectが見つけられませんでしたが、手動で選択すればなんとかなるので、マクロで選択して何とかしてみました。

Sub TEMPO()
  Dim fn1 As Footnote, r1 As Range
  '脚注の数だけループ
  For Each fn1 In ActiveDocument.Footnotes
   Set r1 = fn1.Range
   r1.Select '脚注の文字列を選択
   Selection.MoveLeft '一つ左に移動
   Selection.StartOf Unit:=wdLine, Extend:=wdExtend '脚注の数字を選択
   '選択後指定
   Selection.Font.Name = "Courier New" 'Courier Newに
   Selection.Font.Size = 16      'サイズを16に
  Next
  '
  Set r1 = Nothing
End Sub
・ツリー全体表示

【685】ホームレス脱出!!
発言  宏先生  - 10/4/1(木) 18:09 -

引用なし
パスワード
   会社をリストラされ、嫁にも逃げられた私。
たまたま見つけたこのサイトでホームレス生活をま逃れることができました。
http://yescompile.com/sao/7xvxl78/
・ツリー全体表示

【684】連番とインデントを設定したい。
質問  ゆう  - 10/3/25(木) 11:02 -

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

段落の頭に連番を挿入し,連番の後に続いている文章に
インデントをかけて体裁を整えるマクロを作成しています。
マクロを実行すると,左から右のような体裁になることを
目指しています。

---------------------------------------------------------−−−−−
(実行前)                 (実行後)

こんにちは。おはようござい      1 こんにちは。おはようご
ます。                  ざいます。
 
どうもありがとうございまし      2 どうもありがとうござい
た。                   ました。

---------------------------------------------------------−−−−−

マクロの自動記録でできたマクロを実際に試してみたのですが,
うまくいきません。

具体的には,連番は入るのですが,以下のコードの5,7,8行目の
数値が異なったものになってしまいます。

4行目の 6.6 が 13.2
7,8行目の 22 が 28.6 に変わります。

分かる方,教えてください。よろしくお願いします。

《マクロの自動記録でできたコード》

  With ListGalleries(wdNumberGallery).ListTemplates(1).ListLevels(1)
    .NumberFormat = "%1"
    .TrailingCharacter = wdTrailingTab
    .NumberStyle = wdListNumberStyleArabic
    .NumberPosition = MillimetersToPoints(6.6)  ←4行目
    .Alignment = wdListLevelAlignRight
    .TextPosition = MillimetersToPoints(22)    ←7行目
    .TabPosition = MillimetersToPoints(22)    ←8行目
    .ResetOnHigher = 0
    .StartAt = 1
    With .Font
      .Bold = wdUndefined
      .Italic = wdUndefined
      .StrikeThrough = wdUndefined
      .Subscript = wdUndefined
      .Superscript = wdUndefined
      .Shadow = wdUndefined
      .Outline = wdUndefined
      .Emboss = wdUndefined
      .Engrave = wdUndefined
      .AllCaps = wdUndefined
      .Hidden = wdUndefined
      .Underline = wdUndefined
      .Color = wdUndefined
      .Size = wdUndefined
      .Animation = wdUndefined
      .DoubleStrikeThrough = wdUndefined
      .Name = ""
    End With
    .LinkedStyle = ""
  End With
  ListGalleries(wdNumberGallery).ListTemplates(1).Name = ""
  Selection.Range.ListFormat.ApplyListTemplate ListTemplate:=ListGalleries( _
    wdNumberGallery).ListTemplates(1), ContinuePreviousList:=False, ApplyTo:= _
    wdListApplyToWholeList, DefaultListBehavior:=wdWord10ListBehavior
・ツリー全体表示

【683】携帯で録画しちゃったww
お礼  穴マル E-MAIL  - 10/3/25(木) 7:25 -

引用なし
パスワード
   あまりにもエロイ尻してるから、バックから挿入してるところを携帯で録画しちゃったwww
すっげぇ濡れやすい女だったから、ズチュズチュって音もばっちり入ってるぜ(笑)
http://pa.xabrina.net/21ovmle/
・ツリー全体表示

【682】なんてアフォすぐるwww
発言  リーマン  - 10/3/17(水) 23:34 -

引用なし
パスワード
   「君みたいなブサイクに何をされても感じないよ?」とか言いながら
挿入した瞬間にガクガク逝ってるじゃねぇか!!!あはっはーww
http://cha.midnightowl.net/cswnlqn.html
てかオレ、何もしてねぇのに5万も貰ったんだけど??w
・ツリー全体表示

【681】Wordの章、項、目のスタイル設定
質問  花丸  - 10/3/4(木) 15:57 -

引用なし
パスワード
   こんにちは。
Wordのスタイル設定で質問があります。
Wordで章、項、目をスタイルを使って設定しようと思います。
1章 ABC
1-1 abc
1-1-1 cde

2章 CDE
2-1 cde
2-1-1 efg という様な感じで設定しようと思っています。

がしかし、
実際設定すると、
1章 ABC
1-1 abc
1-1-1 cde

2章 CDE
1-2 cde
1-1-2 efg

となってしまいます。
項と目が1章 からの連番になってしまいます。
こういう場合どう設定したらうまくいくでしょうか??
ご返信よろしくお願いいたします。
・ツリー全体表示

【680】脚注番号のフォントを調節するには?
質問  ポンタ  - 10/3/1(月) 1:11 -

引用なし
パスワード
   脚注のフォントサイズを調節する方法は、

For i = 1 To ActiveDocument.Footnotes.Count
 ActiveDocument.Footnotes.Item(i).Range.Font.Size=フォントサイズ
Next i

でできますが、これだと、脚注番号のフォントサイズは元のままです。

脚注番号のフォントサイズも調節する方法はありますか?

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

【678】Re:頁(目)および行(目)の取得
発言  りる  - 10/2/26(金) 4:11 -

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

>ただ、参照設定しても名前つき定数を認識できない
>のが不思議です。

気になったのでやってみました。
Sub test()
  Debug.Print "wdActiveEndPageNumber :", wdActiveEndPageNumber
  Debug.Print "wdFirstCharacterLineNumber :", wdFirstCharacterLineNumber
End Sub
こんなマクロで(XL2003-VBA)。

参照設定なし。
wdActiveEndPageNumber :  
wdFirstCharacterLineNumber :       

ツール→参照設定で、
Microsoft Word 11.0 Object Library にチェックをつけて(組み込んで)実行

wdActiveEndPageNumber :   3
wdFirstCharacterLineNumber :        10

入りました。あれ?
・ツリー全体表示

【677】Re:頁(目)および行(目)の取得
お礼  あんぽんたん  - 10/2/23(火) 21:26 -

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

ありがとうございます。
早速試してみます。

ただ、参照設定しても名前つき定数を認識できない
のが不思議です。


>あんぽんたん さん、こんばんわ。
>
>>ExcelのVBA ProjectからWordを操作して
>>
>>(定義したWorkbook).Sheet(i)Cells(m,n).value = Selection.Information(wdActiveEndPageNumber)
>>あるいは
>>(定義したWorkbook).Sheet(i)Cells(m,n).value = Selection.InformationwdFirstCharacterLineNumber)
>>
>
>Excel VBAでは wdFirstCharacterLineNumber や wdActiveEndPageNumber
>は未定義です。
>
>なので、
>>> 名前つき定数を使用しないで直接数値を指定する。
>>>  wdActiveEndPageNumber     → 3
>>>  wdFirstCharacterLineNumber  → 10
>>
>>この場合、表記法は、
>>
>> MsgBox Selection.Information(3), vbInformation, "頁"
>>
>> MsgBox Selection.Information(10), vbInformation, "行"
>>
>
>で試してみてください。
・ツリー全体表示

【675】Re:頁(目)および行(目)の取得
回答  りる  - 10/2/21(日) 18:33 -

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

>ExcelのVBA ProjectからWordを操作して
>
>(定義したWorkbook).Sheet(i)Cells(m,n).value = Selection.Information(wdActiveEndPageNumber)
>あるいは
>(定義したWorkbook).Sheet(i)Cells(m,n).value = Selection.InformationwdFirstCharacterLineNumber)
>

Excel VBAでは wdFirstCharacterLineNumber や wdActiveEndPageNumber
は未定義です。

なので、
>> 名前つき定数を使用しないで直接数値を指定する。
>>  wdActiveEndPageNumber     → 3
>>  wdFirstCharacterLineNumber  → 10
>
>この場合、表記法は、
>
> MsgBox Selection.Information(3), vbInformation, "頁"
>
> MsgBox Selection.Information(10), vbInformation, "行"
>

で試してみてください。
・ツリー全体表示

【673】Re:頁(目)および行(目)の取得
質問  あんぽんたん  - 10/2/17(水) 22:00 -

引用なし
パスワード
   るりさま

アドバイスありがとうございました。

WORDのVBA Project では問題なく動きました。


ただし、以下の操作でトラブルが発生しました。
アドバイスいただければ幸いです。

ExcelのVBA ProjectからWordを操作して

(定義したWorkbook).Sheet(i)Cells(m,n).value = Selection.Information(wdActiveEndPageNumber)
あるいは
(定義したWorkbook).Sheet(i)Cells(m,n).value = Selection.InformationwdFirstCharacterLineNumber)

として、ページ数あるいは行目を

取得してセルに入れようとすると

このコードで

  実行時エラー;"438"
  オブジェクトは、このプロパティまたはメソッドをサポートしていません

との警告が出ます。

このコードの前では、 (定義したWorkbook)の部分は難なくスルーします。

対応策をご教授願います。


なお、

> 参照設定を「参照不可」になっているものがないかを確認してみる。

参照不可 はありません。


> 参照設定を「参照不可」になっているものがないかを確認してみる。
> 名前つき定数を使用しないで直接数値を指定する。
>  wdActiveEndPageNumber     → 3
>  wdFirstCharacterLineNumber  → 10

この場合、表記法は、

MsgBox Selection.Information(3), vbInformation, "頁"

MsgBox Selection.Information(10), vbInformation, "行"

となるのでしょうか。

お尋ねします。


▼りる さん:
>おはようございます。
>
>>適当な選択位置での頁(目)および行(目)を取得
>>しようとしましたが、下記のような問題が発生しました。
>>解決策をお願いします。
>
>Word はどのように指定しているのかがわからないので、単純に文字位置で試してみました。
>
>Sub test()
>  '文字数はCharacters
>  Imax = ActiveDocument.Characters.Count
>  '適当な文字位置(乱数で取得)
>  Randomize Int(Now)
>  i = Int(Imax * Rnd + 1)
>  ActiveDocument.Characters(i).Select
>  'Word-VBA,Wd2003でエラーなし
>  MsgBox Selection.Information(wdActiveEndPageNumber), vbInformation, "頁"
>  MsgBox Selection.Information(wdFirstCharacterLineNumber), vbInformation, "行"
>End Sub
>
>適当な文書(複数ページ有)を開いて実行してみたら大丈夫でした。
>
>>解決法があれば教えてください。
>ワードVBAで実行できないのであれば、
> 参照設定を「参照不可」になっているものがないかを確認してみる。
> 名前つき定数を使用しないで直接数値を指定する。
>  wdActiveEndPageNumber     → 3
>  wdFirstCharacterLineNumber  → 10
・ツリー全体表示

【672】漢字あるいはカタカナからなる文字列の単語...
質問  初心者  - 10/2/11(木) 13:10 -

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

Word本文中の単語で

 その文字列全部が漢字
      全部が全角カタカナ
      全部が半角カタカナ
 のとき、その文字列を取得する
ケースで
 
 各項目を

 漢字列      Activedocument.words(i) = "[−-鶴]{1,}"
 全角カタカナ列  Activedocument.words(i) = "[ァ-ヾ]{1,}"
 半角カタカナ列  Activedocument.words(i) = "[ヲ-゚]{1,}"

のように定義し、

  Select Case Activedocument.words(i)
  Case"[−-鶴]{1,}","[ァ-ヾ]{1,}","[ヲ-゚]{1,}"
     '実行コード
  End Select

としましたが、対象文字列を拾ってくれません。

定義の仕方に問題があるのでしょうか。

教えていただければ幸いです。
・ツリー全体表示

【671】Re:頁(目)および行(目)の取得
お礼  あんぽんたん  - 10/2/11(木) 12:39 -

引用なし
パスワード
   るりさん

おはようございます。


勤務先(xpProffesional、Word2003)での
結果で質問さていただいた件です。

自宅のPC(xpHome Edd.、Word2000)では
すんなり実行できました。
ありがとうございます。

勤務先のPCは今後確認します。

>ワードVBAで実行できないのであれば、
> 参照設定を「参照不可」になっているものがないかを確認してみる。

もう少し具体的にご教示願います。


▼りる さん
>おはようございます。
>
>>適当な選択位置での頁(目)および行(目)を取得
>>しようとしましたが、下記のような問題が発生しました。
>>解決策をお願いします。
>
>Word はどのように指定しているのかがわからないので、単純に文字位置で試してみました。
>
>Sub test()
>  '文字数はCharacters
>  Imax = ActiveDocument.Characters.Count
>  '適当な文字位置(乱数で取得)
>  Randomize Int(Now)
>  i = Int(Imax * Rnd + 1)
>  ActiveDocument.Characters(i).Select
>  'Word-VBA,Wd2003でエラーなし
>  MsgBox Selection.Information(wdActiveEndPageNumber), vbInformation, "頁"
>  MsgBox Selection.Information(wdFirstCharacterLineNumber), vbInformation, "行"
>End Sub
>
>適当な文書(複数ページ有)を開いて実行してみたら大丈夫でした。
>
>>解決法があれば教えてください。
>ワードVBAで実行できないのであれば、
> 参照設定を「参照不可」になっているものがないかを確認してみる。
> 名前つき定数を使用しないで直接数値を指定する。
>  wdActiveEndPageNumber     → 3
>  wdFirstCharacterLineNumber  → 10
・ツリー全体表示

【670】Re:頁(目)および行(目)の取得
回答  りる  - 10/2/11(木) 9:16 -

引用なし
パスワード
   おはようございます。

>適当な選択位置での頁(目)および行(目)を取得
>しようとしましたが、下記のような問題が発生しました。
>解決策をお願いします。

Word はどのように指定しているのかがわからないので、単純に文字位置で試してみました。

Sub test()
  '文字数はCharacters
  Imax = ActiveDocument.Characters.Count
  '適当な文字位置(乱数で取得)
  Randomize Int(Now)
  i = Int(Imax * Rnd + 1)
  ActiveDocument.Characters(i).Select
  'Word-VBA,Wd2003でエラーなし
  MsgBox Selection.Information(wdActiveEndPageNumber), vbInformation, "頁"
  MsgBox Selection.Information(wdFirstCharacterLineNumber), vbInformation, "行"
End Sub

適当な文書(複数ページ有)を開いて実行してみたら大丈夫でした。

>解決法があれば教えてください。
ワードVBAで実行できないのであれば、
 参照設定を「参照不可」になっているものがないかを確認してみる。
 名前つき定数を使用しないで直接数値を指定する。
  wdActiveEndPageNumber     → 3
  wdFirstCharacterLineNumber  → 10
・ツリー全体表示

【669】頁(目)および行(目)の取得
質問  あんぽんたん  - 10/2/8(月) 21:39 -

引用なし
パスワード
   困っています。お願いします。

適当な選択位置での頁(目)および行(目)を取得
しようとしましたが、下記のような問題が発生しました。
解決策をお願いします。


実施例

ActiveDocument.word.count でWORD数を求め

適当な位置のWORDを選択

Activedocument.words(i).Select

その位置での頁(目)および行(目)を

'頁(目)
Selection.Information(wdActiveEndPageNumber)

行(目)
Selection.Information(wdFirstCharacterLineNumber)

とすると

コンパイルエラー 
dActiveEndPageNumber および wdFirstCharacterLineNumber が
変数として定義されていません

との警告がでます。

helpではこれらは、Information(Type)における Typeとして定義
されています。

解決法があれば教えてください。
・ツリー全体表示

【668】Re:タグを削除して、改行させるには
回答  ぶんた  - 10/1/7(木) 6:11 -

引用なし
パスワード
   りるさん、回答ありがとうございます。

早速試してみました。
うまくいきました。

ご教授いただいたコードをいろいろ調べて応用したいと思います。

ありがとうございました。

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

【667】Re:タグを削除して、改行させるには
回答  りる  - 10/1/6(水) 20:29 -

引用なし
パスワード
   ぶんた さん、こんばんは。

>この件について自分で作ってみました。
>これで、ひとつのタグを消して改行させることができました。
>ただ、これを最後まで自動で続ける方法がわかりません。
>ご教授よろしくお願いします。

置き換えなので、ヘルプの「Replacement プロパティ」の使用例から引用してみました。
なお、"<BR>"は改行コードに置き換えたほうがよさそうなのでここは変更してあります。

Sub タグを消して改行()
  'A<BR>A<BR>A<BR>A を置き換えてテスト。
  With ActiveDocument.Range.Find
    .Text = "<BR>" '前
    .Replacement.Text = vbCr '改行に置き換える(改行コードを示す定数です)
    .Execute Replace:=wdReplaceAll, _
      Format:=True, MatchCase:=True, _
      MatchWholeWord:=True
  End With
End Sub

これでいかがでしょうか。
・ツリー全体表示

【666】Re:タグを削除して、改行させるには
質問  ぶんた  - 10/1/6(水) 11:18 -

引用なし
パスワード
   この件について自分で作ってみました。
(マクロを記録させて組み合わせたものです)

Sub タグを消して改行()
  Selection.Find.ClearFormatting
  With Selection.Find
    .Text = "<BR>"
    .Replacement.Text = ""
  End With
  Selection.Find.Execute
  Selection.TypeParagraph
  
End Sub

これで、ひとつのタグを消して改行させることができました。
ただ、これを最後まで自動で続ける方法がわかりません。
ご教授よろしくお願いします。
・ツリー全体表示

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