Word VBA質問箱 IV

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

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


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

【498】表の作成で
質問  もさ〜ん  - 06/9/26(火) 15:58 -

引用なし
パスワード
   表を作成していて、処理を表が終わりになったら次のページへという事をやりたいんですが、表の終わりがうまく検索できません
今はセルを順番に右にシフトしているんですが、最後のセルから右にシフトするともう一段表ができてしまいます。
私は毎回行の最後のセルになったら次の行は表かどうか?というのをやりたいのですがうまくできないので右にカーソル移動して文字が入っているかチェックすることでやろうと思ったんです。今度は何も入っていないところが文字列バッファにいれて見ると♀のようなマークになっていてお手上げです。
意味がわかりにくいかもしれなくてごめんなさい・・・
・ツリー全体表示

【497】Re:選択範囲
お礼  もさ〜ん  - 06/9/26(火) 15:49 -

引用なし
パスワード
   ▼りん さん:
>もさ〜ん さん、こんにちわ。
>
>>選択範囲がどこなのかがいまいちわかりません。
>
>ドラッグされている範囲が選択範囲です。
>ドラッグされていなければ、カーソル位置です。
>
>Sub test()
>  Dim cpos As String
>  With Selection.Range
>    cpos = .Information(10) & " 行  " & .Information(9) & " 桁"
>    If .Text = "" Then
>      MsgBox cpos, vbInformation, "カーソル位置"
>    Else
>      MsgBox "ドラッグされた文字列" & vbCrLf & .Text, vbInformation, cpos
>    End If
>  End With
>End Sub


ありがとうございます。解決しましたm(__)m
・ツリー全体表示

【496】Re:選択範囲
回答  りん E-MAIL  - 06/9/22(金) 14:23 -

引用なし
パスワード
   もさ〜ん さん、こんにちわ。

>選択範囲がどこなのかがいまいちわかりません。

ドラッグされている範囲が選択範囲です。
ドラッグされていなければ、カーソル位置です。

Sub test()
  Dim cpos As String
  With Selection.Range
    cpos = .Information(10) & " 行  " & .Information(9) & " 桁"
    If .Text = "" Then
      MsgBox cpos, vbInformation, "カーソル位置"
    Else
      MsgBox "ドラッグされた文字列" & vbCrLf & .Text, vbInformation, cpos
    End If
  End With
End Sub
・ツリー全体表示

【495】選択範囲
質問  もさ〜ん  - 06/9/21(木) 16:42 -

引用なし
パスワード
   初めて投稿します。
Selection.Range.CharacterWidth = wdWidthFullWidth
は大文字に変換するというのはわかるんですが、選択範囲がどこなのかがいまいち
わかりません。
この処理の前に文字を入力しているんですが、入力後カーソルは文字の後ろにあるんです
どこからどこまでが範囲なんでしょうか?
・ツリー全体表示

【494】Re:現在の段落番号の取得は?
お礼  unahama  - 06/9/20(水) 16:57 -

引用なし
パスワード
   りん さん へ
さっそく解説付きご回答ありがとうございました。テストして思ったとおり動きました。
ppをparagraph で定義して、Each で繰り返し処理をするところに気付きませんでした。(繰り返しはFOR next で数字しかだめと思っていましたので)。簡潔なため他でも応用できそうです。再度ありがとうございました。

▼りん さん:
>unahama さん、こんばんわ。
>>いくつかの段落を持った文章を扱って、最後の段落については処理をしたくないとか、最初だけ処理をしたいとか
>
>段落毎に検索をかける方法はいかがでしょうか?
>
>段落の最初及び最後を除いて、東京を横浜に置換します。
>Sub test()
>  Dim pp As Paragraph, JJ As Integer, Jmax As Integer
>  Jmax = Application.ActiveDocument.Paragraphs.Count
>  '
>  For Each pp In Application.ActiveDocument.Paragraphs
>   JJ = JJ + 1
>   If JJ = 1 Or JJ = Jmax Then
>     '最初と最後の段落では何もしない
>   Else
>     '置換
>     With pp.Range.Find
>      .Text = "東京"
>      .Replacement.Text = "横浜"
>      .Execute Replace:=wdReplaceAll
>     End With
>   End If
>  Next
>End Sub
・ツリー全体表示

【493】Re:現在の段落番号の取得は?
回答  りん E-MAIL  - 06/9/19(火) 22:06 -

引用なし
パスワード
   unahama さん、こんばんわ。
>いくつかの段落を持った文章を扱って、最後の段落については処理をしたくないとか、最初だけ処理をしたいとか

段落毎に検索をかける方法はいかがでしょうか?

段落の最初及び最後を除いて、東京を横浜に置換します。
Sub test()
  Dim pp As Paragraph, JJ As Integer, Jmax As Integer
  Jmax = Application.ActiveDocument.Paragraphs.Count
  '
  For Each pp In Application.ActiveDocument.Paragraphs
   JJ = JJ + 1
   If JJ = 1 Or JJ = Jmax Then
     '最初と最後の段落では何もしない
   Else
     '置換
     With pp.Range.Find
      .Text = "東京"
      .Replacement.Text = "横浜"
      .Execute Replace:=wdReplaceAll
     End With
   End If
  Next
End Sub
・ツリー全体表示

【492】現在の段落番号の取得は?
質問  unahama  - 06/9/18(月) 11:31 -

引用なし
パスワード
   いくつかの段落を持った文章を扱って、最後の段落については処理をしたくないとか、最初だけ処理をしたいとかを下記例のように、for next 内にif--を入れ処理を行なおうとしています。多分初歩的な質問だと思いますが、現在のカーソル位置または選択範囲の段落番号(数値)を取得するにはどうすればよいのでしょうか?

rpara = ActiveDocument.Paragraphs.Count  '段落数
For n = rpara To 1 Step -1
Selection.EndKey Unit:=wdStory 'カーソルを最後に移す

With Selection.Find
  .Forward = False
  .ClearFormatting
  .MatchWholeWord = True
  .MatchCase = False
  .Wrap = wdFindContinue
  .Execute FindText:="東京"
End With
if **** '段落番号が rpara以外であれば
end if
next
・ツリー全体表示

【491】Word VBAを用いたファイル分割及び結合につ...
質問  コルトレーン  - 06/9/12(火) 21:11 -

引用なし
パスワード
   初めて発言させていただきます.宜しくお願いします.

既に存在するWord文書中から,あるキーワードともう一つの
キーワードにはさまれた範囲(このような部分がたくさんあ
ることを想定します)を切り出して,別のファイル(ファイ
ル名称は,随時適切な名前をつけます)へ書き出します.
この操作を繰り返すことにより,もとのファイルがちぎれち
ぎれになって,いくつもの,小さなファイルとして存在する
ことになります.
次に,Excelシート上の,ある縦一列に書かれた数値(小さな
ファイルの名称と関連付いています)を参照することにより,
小さなファイルを,もともととは異なる順番に結合させてゆき
,大きなひとつのファイルを形成します.

このようなファイル分割及び結合操作を,Word VBAマクロ記述
により,行うことは可能でしょうか?

以上,よろしくご教示ください.
・ツリー全体表示

【490】Re:エラー! 埋め込みオブジェクトが正しく...
回答  pitakon2  - 06/9/11(月) 23:17 -

引用なし
パスワード
   ▼tobo さん:
Xpの場合、tempフォルダの場所が悪いのが原因と思われます。
またはtempフォルダの容量不足と思われます。

対策
コントロールパネルを開き、
システムをダブルクリックし、
詳細設定タブに移動して、
環境変数ボタンを押して、
ユーザー環境変数の欄で変数TEMPを選択し、
変数値をメモしておく。(あとで元に戻せるように)
変数値を両方とも下記に変更。
%USERPROFILE%\Local Settings\Temp
(パスが右記になるC:\Documents and Settings\ユーザ名\Local Settings\Temp)
ユーザー環境変数の欄で変数TMPを選択し、
変数値をメモしておく。(あとで元に戻せるように)
%USERPROFILE%\Local Settings\Temp
OKを押す。
これでエラーが出るようでしたら、tmpフォルダ、tempフォルダの拡張子がtmpで不要であることが明確なファイルを削除してください。
それでもダメな場合は、あいにくわかりません。変数値を元に戻してください。
・ツリー全体表示

【488】Wordファイル1ページ目選択?
質問  新人クリ坊  - 06/9/8(金) 15:41 -

引用なし
パスワード
   初めまして、クリ坊ですm(__)m
さっそくですが、

WORDの1ページ目のみをコピーしたいのですが、汎用的に使いたいので
そのような関数、コマンド、又は平易な記述があれば教えて下さい。

現在、特定のヒナ型ページをコピーすることはできるのですが、
 WORDファイルの1ページ目、 と指定できれば以下のような
複雑なコードは必要ないのです・・


Sub 一ページ目選択コピー()

  'ページ先頭位置へ移動
  Selection.HomeKey Unit:=wdStory
  '一枚目、貼付頁選択、コピー
  Selection.MoveDown Unit:=wdLine, Count:=10, Extend:=wdExtend
  Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend
  Selection.MoveDown Unit:=wdLine, Count:=27, Extend:=wdExtend
  Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
  Selection.Copy
  '最終位置へ移動、貼付
  Selection.EndKey Unit:=wdStory
  Selection.Paste
  
End Sub
・ツリー全体表示

【487】Re:コンボボックスの印刷
発言  りん E-MAIL  - 06/9/8(金) 13:07 -

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

>印刷したときにコンボボックスだとわからないようにしたい
>のですが、どうすればいいでしょうか?

ComboboxのShowDropButtonWhenプロパティをfmShowDropButtonWhenFocusにすれば、コンボボックスにカーソルがない時は▼が出ませんが、この方法ではだめですか?
・ツリー全体表示

【486】コンボボックスの印刷
質問  tamac  - 06/9/1(金) 17:35 -

引用なし
パスワード
   コンボボックスがあるドキュメントを印刷するのですが、
コンボボックスの▼ボタンも印刷されてしまいます。
印刷したときにコンボボックスだとわからないようにしたい
のですが、どうすればいいでしょうか?
・ツリー全体表示

【485】Re:ファイルOPENでユーザーフォームを開く...
発言  123  - 06/8/28(月) 17:30 -

引用なし
パスワード
   失礼致しました。
セキュリティが「高」になったままでした。

自己解決しました。
・ツリー全体表示

【484】ファイルOPENでユーザーフォームを開くには
質問  123  - 06/8/28(月) 16:46 -

引用なし
パスワード
   EXCELのVBAでかつてお世話になった123と申します。
実はWordでVBAを使う必要が出てきました。WordのVBAは全くの初心者ですので、どなたかご教示頂ければと思います。

質問
ユーザーフォームは作成しましたが、そのファイルを開いても、ユーザーフォームが表示されません。
EXCELでは Private Sub Workbook_Open() でユーザーフォームは開くのですが、Wordではどのようにしたら作成したユーザーフォームを開くことができるのでしょうか?
あまりの初心者質問で恐縮ですが、宜しくお願いします。(すみません、全く参考書を読んでいません。ヘルプは見ましたが見つけることができませんでした)
・ツリー全体表示

【483】表のコピー
質問  かな  - 06/8/25(金) 10:20 -

引用なし
パスワード
   お世話になります。
wordは初心者で、教えていただければありがたいです。

book(A)とbook(B)とbook(c)にそれぞれ列数や行数の異なる表があるとします。
これを1つのブックに横に並べて表示したいのですが、
コピーをして貼り付けると、ぐちゃぐちゃになります。
ドラッグして持っていこうとすると出来ません。

こういうことは可能なのでしょうか?
・ツリー全体表示

【482】Re:テキストボックスが印刷されない
発言  ponpon  - 06/8/20(日) 10:54 -

引用なし
パスワード
   ▼とみこ さん:
>ワードのテキストボックスの文章のみ印刷されません。文書を開いたときには表示されていますが、印刷プレビューにすると、既に表示されておらず、印刷しても表示されません。
>普通に表示するにはどうしたらよいでしょうか?

ツール→オプション→印刷の
オブジェクトのチェックがはずれていませんか?
・ツリー全体表示

【481】テキストボックスが印刷されない
質問  とみこ E-MAIL  - 06/8/20(日) 9:16 -

引用なし
パスワード
   ワードのテキストボックスの文章のみ印刷されません。文書を開いたときには表示されていますが、印刷プレビューにすると、既に表示されておらず、印刷しても表示されません。
普通に表示するにはどうしたらよいでしょうか?
・ツリー全体表示

【480】Re:封筒に宛名印刷・・・
発言  ponpon  - 06/8/11(金) 23:55 -

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

>封筒に宛名横書き印刷する方法なのですが・・・普通は宛名を入力し、封筒を差し込んだら良いのでしょうが・・どうして糊付けするほうからだとプリンターで詰まってしまうんです。

こちらでの回答は、初めてです。

直接の回答ではありませんが、
まずは、プリンターの厚み調整機能があると思うのですが、
調整していますか?

後は、画像として取り込んで反転というか上下逆さまにすることは出来ますが、
いちいちやっていたんでは、手書きの方が速いですね!!
・ツリー全体表示

【479】封筒に宛名印刷・・・
質問  虎子  - 06/8/7(月) 9:53 -

引用なし
パスワード
   はじめまして。毎回困っているので教えて下さい。
封筒に宛名横書き印刷する方法なのですが・・・普通は宛名を入力し、封筒を差し込んだら良いのでしょうが・・どうして糊付けするほうからだとプリンターで詰まってしまうんです。結局手書きになるのですが・・・。
反転ではなくて・・・なんというのでしょうか。封筒の底の部分から挿入して、宛名を印刷す方法を教えて下さい。
普通だと、底から差し込むと、左側に郵便番号がきてしまいますよね?それを逆にしたいのですが・・・簡単な方法を教えて下さい。
・ツリー全体表示

【478】文字を挿入する
質問  A.K  - 06/8/5(土) 18:55 -

引用なし
パスワード
   WORD VBAは初めて使うので手探りなのですが。
既にある文章に対して、2行ごとに  save番号|save
という一文を入れたいのですが、うまくいきません。

一回で終わってしまうんです。
おそらく繰り返しの条件が悪いのだと思うのですが。

その入力されている文章が終わるまで繰り返したいのですが、どうしたらいいのでしょうか? 
よろしくお願いいたします。


Sub Macro3()
Dim blnFound As Boolean
Dim rngContent As Range
Dim intCount, a As Integer

blnFound = True
Set rngContent = ActiveDocument.Content
intCount = 0
a = 1
Do While blnFound = True

  Selection.MoveDown Unit:=wdLine, Count:=2
    Selection.TypeParagraph
  Selection.MoveUp Unit:=wdLine, Count:=1
  Selection.TypeText Text:="save" & a & "|save"

a = a + 1

  blnFound = rngContent.Find.Found
  If blnFound = True Then intCount = intCount + 1
Loop

Selection.MoveDown Unit:=wdLine, Count:=1

End Sub
・ツリー全体表示

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