Word VBA質問箱 IV

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

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


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

【810】ルビの入力設定
質問  こっこ  - 15/10/8(木) 15:46 -

引用なし
パスワード
   通常ルビの入力はひらがな設定になっていますが「F7」を押さずにデフォルトでカタカナ入力に設定は出来ますでしょうか?
・ツリー全体表示

【809】Re:差し込み印刷指定ありで必要枚数のコピ...
お礼  マリモ  - 15/3/29(日) 9:26 -

引用なし
パスワード
   ▼マナ さん:
>差し込み印刷の設定が完了しているとして、
>
>結果のプレビューで、既にお望みの状態になっていることが確認できるはず。
>その結果を印刷するか、新規文書に保存するかは選べます。
>
>マクロを使って、200回コピペを繰り返す必要はありません。
>差し込み印刷を実行するだけです。

できました。
今後はしっかり調べてからにいたします。
ありがとうございました。
・ツリー全体表示

【808】Re:差し込み印刷指定ありで必要枚数のコピ...
発言  マナ  - 15/3/28(土) 10:45 -

引用なし
パスワード
   差し込み印刷の設定が完了しているとして、

結果のプレビューで、既にお望みの状態になっていることが確認できるはず。
その結果を印刷するか、新規文書に保存するかは選べます。

マクロを使って、200回コピペを繰り返す必要はありません。
差し込み印刷を実行するだけです。
・ツリー全体表示

【807】Re:差し込み印刷指定ありで必要枚数のコピ...
発言  マリモ  - 15/3/28(土) 9:06 -

引用なし
パスワード
   ▼マナ さん:
>私のできる範囲で、お手伝いしたいのですが、
>何をしたいかが理解できていません。
ありがとうございます。

>>A3横で2枚
>
>というのは、A3で2ページの文書ということですか?
そうです。

>>2枚×200、その下に続けてコピーを作りたい
>
>200件のレコードについて、差し込み印刷したいということではないのですか?
そうです。
ただ、A3横の1枚ずつに入れてあります。

>>段落番号が続きになってしまう
>
>段落番号とは?
文章の番号書式で
問1
 1)
 2)
問2
 1)
 2)
上記のような連続になっているのですが、
3ページ以降がその続きになってしまっていて
同じものをそのままコピーをしたいのです。

説明が下手なので伝わりにくくて申し訳ございませんが
よろしくお願いいたします。
・ツリー全体表示

【806】Re:差し込み印刷指定ありで必要枚数のコピ...
発言  マナ  - 15/3/27(金) 20:57 -

引用なし
パスワード
   私のできる範囲で、お手伝いしたいのですが、
何をしたいかが理解できていません。

>A3横で2枚

というのは、A3で2ページの文書ということですか?

>2枚×200、その下に続けてコピーを作りたい

200件のレコードについて、差し込み印刷したいということではないのですか?

>段落番号が続きになってしまう

段落番号とは?
・ツリー全体表示

【805】Re:差し込み印刷指定ありで必要枚数のコピ...
質問  マリモ  - 15/3/26(木) 13:55 -

引用なし
パスワード
   Sub docTest_copy4()
  Dim Range2 As Range
  Selection.WholeStory
  If Selection.Type <> wdSelectionIP Then
    Selection.Copy
    Set Range2 = ActiveDocument.Content
    Range2.Collapse Direction:=wdCollapseEnd
    Range2.Paste
  End If
End Sub

この貼付作業を200回繰り返すのと
段落番号が続きになってしまうので
貼り付けの際に段落番号がリセットされるようにしたいのですが
上手く組み込めません。

お力添えをお願いいたします。
・ツリー全体表示

【804】差し込み印刷指定ありで必要枚数のコピーに...
質問  マリモ  - 15/3/25(水) 14:09 -

引用なし
パスワード
   はじめまして。
word vbaは初めてなので、よろしくお願いいたします。

A3横で2枚ありまして、その2枚に差し込みフィールドの挿入をしてあります。
2枚×200、その下に続けてコピーを作りたいのですが、
テキストボックスや表も含まれております。

手作業ではなく、
何か、いい方法はないでしょうか。
・ツリー全体表示

【803】Re:ブックマークのテキストを更新すると、...
発言  マナ  - 15/2/26(木) 23:39 -

引用なし
パスワード
   ということで、ちょっと検索してみました

Inserting text at a bookmark without deleting the bookmark
ht tp://word.mvps.org/faqs/macrosvba/InsertingTextAtBookmark.htm

向こうで、脱線した話も迷惑でしょうし、誰も見てないようなのでこちらに。
・ツリー全体表示

【802】ブックマークのテキストを更新すると、ブッ...
質問  マナ  - 15/2/26(木) 23:31 -

引用なし
パスワード
   お隣の板で回答していた気づいたこと。
ht tp://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=76671;id=excel

>転記するとブックマークが削除されてしまう。
>書き方が間違っているのか???
>
>doc.bookmarks("好きな名前").Range.Text = c.Value
・ツリー全体表示

【801】Re:使いかけラベルシートに差込印刷
発言  マナ  - 15/2/21(土) 22:24 -

引用なし
パスワード
   >こんな感じで、何個の空レコードを差込対象とするかどうかを
>マクロで設定しようと試みたのですが、なぜか駄目でした??

完全な空レコードでなければ設定できるみたい。
・ツリー全体表示

【800】Re:使いかけラベルシートに差込印刷
発言  マナ  - 15/2/17(火) 21:13 -

引用なし
パスワード
   使用済み枚数(空レコード数)の計算部分は
こっちのほうがよかったかも。

  With doc.MailMerge
    With .DataSource
      '使用済み枚数(空レコード数)の計算
      .ActiveRecord = wdFirstRecord
      Do While .ActiveRecord < cnt
        If .Included Then n1 = n1 + 1
        .ActiveRecord = wdNextRecord
      Loop


>  
>  With doc.MailMerge
>    With .DataSource
>      '使用済み枚数(空レコード数)の計算
>      .ActiveRecord = wdFirstDataSourceRecord
>      For i = 1 To cnt - 1
>        If .Included Then n1 = n1 + 1
>        .ActiveRecord = wdNextDataSourceRecord
>      Next
>


>
・ツリー全体表示

【799】Re:使いかけラベルシートに差込印刷
発言  マナ  - 15/2/16(月) 23:21 -

引用なし
パスワード
   こんな感じで、何個の空レコードを差込対象とするかどうかを
マクロで設定しようと試みたのですが、なぜか駄目でした??

Sub test失敗()
  Dim n As String, i As Long
  
  n = InputBox("使用済みラベル数入力")
  If n = "" Then Exit Sub
  If Not IsNumeric(n) Then Exit Sub
  
  With ActiveDocument.MailMerge.DataSource
    .ActiveRecord = wdFirstDataSourceRecord
    For i = 1 To 7
       If i <= CLng(n) Then
        .Included = True
      Else
        .Included = False
      End If
      .ActiveRecord = wdNextDataSourceRecord
    Next
  End With

End Sub


 
・ツリー全体表示

【798】Re:使いかけラベルシートに差込印刷
発言  マナ  - 15/2/16(月) 22:52 -

引用なし
パスワード
   最初考えてたより、てこずっちゃいました。

Sub 使いかけラベルシートで差込印刷()
  Dim doc As Document
  Dim i As Long
  Dim t As Long, n As Long
  Dim n1 As Long, n2 As Long
  Dim msg As String
  Dim p As Long
  Dim c As Cell
  Const cnt As Long = 8  'ラベル数/シート
  
  Set doc = MacroContainer
  
  With doc.MailMerge
    With .DataSource
      '使用済み枚数(空レコード数)の計算
      .ActiveRecord = wdFirstDataSourceRecord
      For i = 1 To cnt - 1
        If .Included Then n1 = n1 + 1
        .ActiveRecord = wdNextDataSourceRecord
      Next
      
      '差込レコード数の計算
      .ActiveRecord = wdLastRecord
      t = .ActiveRecord
      
      .ActiveRecord = wdFirstRecord
      
      n = 1

      Do Until .ActiveRecord = t
         .ActiveRecord = wdNextRecord
        n = n + 1
      Loop
      
    End With
    
    msg = "シートの" & n1 + 1 & "枚目から" & n - n1 & "枚印刷します"
    If MsgBox(msg, vbOKCancel) <> vbOK Then Exit Sub

    '差込文書作成
    .Destination = wdSendToNewDocument
    .SuppressBlankLines = False
    .Execute
  End With
  
  '最初のシートの不要ラベルを削除
  Set c = ActiveDocument.Tables(1).Cell(1, 1)
  For i = 1 To n1
    Do While c.Range.Words.Count = 1
      Set c = c.Next
    Loop
    c.Range.Text = ""
    Set c = c.Next
  Next
 
  '最終シートの不要ラベルを削除
  p = ActiveDocument.Range.Information(wdNumberOfPagesInDocument)
  n2 = cnt - (n Mod cnt)

  With ActiveDocument.Tables(p)
    Set c = .Cell(.Rows.Count, .Columns.Count)
  End With
  If n2 < cnt Then
    For i = 1 To n2
      Do While c.Range.Words.Count = 1
        Set c = c.Previous
      Loop
      c.Range.Text = ""
      Set c = c.Previous
    Next
  End If
  
End Sub
・ツリー全体表示

【797】使いかけラベルシートに差込印刷
質問  マナ  - 15/2/15(日) 23:07 -

引用なし
パスワード
   下記のExcel VBA掲示板での質問にこんなのがありました。
ht tp://excelfactory.net/excelboard/excelvba/excel.cgi?mode=all&namber=167925&rev=0

こんな内容です。(勝手な解釈なので、ちょっと違うかも)
1)エクセルのデータをラベル印刷したい
2)ラベルシートは、8枚/シート
3)エクセルファイルの構成は
・フォーマットシート(ラベル1枚分)
・印刷シート
・データシート
4)印刷手順は
・印刷シートにフォーマットをコピペ
・印刷シートにデータをコピペ
・これをコピペ場所をずらしながら、指定したレコードについて繰り返す。
・コピペ終了後に印刷

5)質問は
・ラベルシートは、前回の使用残を無駄なく使いたい
・なので印刷シートへコピペを開始する位置が毎回変動させたい

すでに回答がついており、ほぼ解決していたのですが、
あえてWordの差込印刷を使う提案をしてみました。

でも、どうやら却下みたい。

そこで、こちらで一人で考えみたいと思います。

Wordの差込印刷の場合に、使いかけのシートで印刷する方法です。

単純にこう考えました。
1)使用済みのラベルと同数の空レコードを差し込む
2)なので、データシートには、7レコード分の空レコードを用意しておく
3)差し込むレコードを選択
4)差し込み文書を作成
5)先頭シートと最終シートにできる、空レコードのラベルをクリア
6)印刷

4)以降については、手操作でもよいけど、
せっかくなので、どんなマクロになるか。
自分への質問です。
・ツリー全体表示

【796】Re:入力規制をしたい
発言  マナ  - 14/1/6(月) 19:09 -

引用なし
パスワード
   半年ぶりにワードの勉強をしてみました。

まずはネットでテキストボックスフォームフィールドについて検索。
マクロを登録すれば出来そうです
ht tp://office.microsoft.com/ja-jp/word-help/HP005186258.aspx

ここのWendy02さんのコードとか参考になります。
ht tp://qanda.rakuten.ne.jp/qa3076625.html


>入力する文字の改行をさせたくない

書いてみましした。Word2000がないので、2010で動作確認。
使い勝手があまり良くないかもしれませんが、こんな感じでしょうか。

Sub test()

  With Selection.Bookmarks(1).Range.Fields(1).Result
    If InStr(.Text, vbCr) > 0 Then
      MsgBox "改行はNG"
      .Text = Replace(.Text, vbCr, "")
    End If
  End With

End Sub
・ツリー全体表示

【795】Re:WORDマクロの解説本 追加情報
発言  H. C. Shinopy  - 13/9/20(金) 20:40 -

引用なし
パスワード
   土屋和人『最速攻略 Wordマクロ/VBA徹底入門 〔Word2013/2010/2007対応版〕 』

大型本: 320ページ
出版社: 技術評論社
言語 日本語
ISBN-10: 4774159441
ISBN-13: 978-4774159447
発売日: 2013/9/20

htt p://gihyo.jp/book/2013/978-4-7741-5944-7#toc

目次
第1章 Word VBAとは
1-01 Wordの基礎知識
1-02 Wordの作業を効率化する
1-03 マクロとVBA
1-04 VBAを利用するための準備
1-05 新しいマクロを記録する
1-06 マクロを実行する
1-07 マクロを含む文書を保存する
1-08 マクロを含む文書を開く
1-09 マクロを実行するその他の方法

第2章 Visual Basic Editorの基本操作
2-01 Visual Basic Editorを利用する
2-02 マクロのプログラムを編集する
2-03 マクロのプログラムを新規作成する

第3章 VBAプログラミングの基礎知識
3-01 VBAの記述ルールを理解する
3-02 コードの動作をテストする
3-03 関数を利用する
3-04 VBAのオブジェクトを理解する
3-05 データに名前を付けて操作する
3-06 条件に応じて異なる処理を実行する
3-07 同じ処理を繰り返し実行する
3-08 同一オブジェクトへの操作をまとめる

第4章 文書の作成
4-01 文書作成の一連の手順を実行する
4-02 新規文書を作成する
4-03 文章を入力する
4-04 文書を保存する
4-05 文書を印刷する
4-06 文書の作業を終了する

第5章 文書の編集
5-01 文書を開く
5-02 特定の位置に文章を挿入する
5-03 段落記号を挿入する
5-04 文字列を単語・文単位で編集する
5-05 操作対象の位置を変更する
5-06 文書の一部を削除する
5-07 文字列をコピー・移動する
5-08 フォントの設定を変更する
5-09 フォントの色を変更する
5-10 単語にルビを設定する
5-11 文字を線で囲む
5-12 段落の配置を設定する
5-13 行間を設定する
5-14 インデントを設定する
5-15 スタイルを設定する
5-16 書式オブジェクトを流用する

第6章 一括処理のための基本マクロ
6-01 文字列を検索する
6-02 文字列を置換する
6-03 パターンで検索する
6-04 パターンで置換する
6-05 文字種を変更する
6-06 コメントを一括で変更する
6-07 図形を一括で操作する
6-08 複数の文書を一括で操作する

第7章 文書を設計・管理するマクロ
7-01 用紙サイズを変更する
7-02 1ページの行数を変更する
7-03 ヘッダー・フッターを設定する
7-04 表を使ってレイアウトする
7-05 ページ罫線を設定する
7-06 文書全体のイメージを変更する
7-07 脚注を設定する
7-08 目次を作成する
7-09 索引を作成する
7-10 変更履歴を記録する

第8章 テンプレートの活用
8-01 Normalテンプレートの役割
8-02 自動実行マクロを利用する
8-03 テンプレートとして保存する
8-04 テンプレートから文書を作成する
8-05 テンプレートをアドインとして利用する

第9章 その他の上級テクニック
9-01 コマンドマクロを利用する
9-02 文書のイベントを利用する
9-03 アプリケーションのイベントを利用する
9-04 外部のオブジェクトを操作する

第10章 論文・レポートで便利なマクロ
10-01 論文・レポートのテンプレートを作成する
10-02 英数字を半角に変換する
10-03 パターンに応じてスタイルを適用する
10-04 複数の語句を連続して置換する
10-05 西暦年と和暦年を変換する
10-06 表の数値を一括で修正する
10-07 本文中の注釈を脚注に変更する
10-08 目次中の番号のみ書式を変更する

第11章 小説・エッセイで便利なマクロ
11-01 小説・エッセイのテンプレートを作成する
11-02 文字を縦書き用に変換する
11-03 2桁の数字を縦中横にする
11-04 数字を漢数字に変換する
11-05 ルビを一括で設定する
11-06 すべての画像の色調を変更する

第12章 カタログで便利なマクロ
12-01 カタログのテンプレートを作成する
12-02 単位の数字を上付きにする
12-03 各行の見出し部分を均等に割り付ける
12-04 ファイル名を画像に置き換える
12-05 連続番号の画像を一括で挿入する
12-06 文字列の折り返しを一括で変更する
12-07 サイズとトリミングを一括で設定する
12-08 カタログの製品紹介欄を追加する

[End]
・ツリー全体表示

【794】入力規制をしたい
質問  くまさん  - 13/8/13(火) 22:45 -

引用なし
パスワード
   Word2000を使っています。テキストボックスフォームフィールド
を使おうと思っていますが、Excelの様な入力規制(半角カナや
英数字、無効など)がしたいのですが、どのようにすれば良いか
教えて下さい。また、フォームに入力する文字の改行をさせたく
ないのですが、どうすればよろしいでしょうか。
・ツリー全体表示

【793】Re:文字検索及びページ削除
発言  マナ  - 13/6/30(日) 21:46 -

引用なし
パスワード
   勉強のために書いてみました。
やっぱり、Excelでいえば「行削除は下から」みたいなことでしょうか?

Sub test()
  Dim myStr As String
  Dim myP As Long
  Dim i As Long
  Dim myRng As Range
  
  myStr = "記入"
  
  myP = Selection.Information(wdNumberOfPagesInDocument)

  For i = myP To 1 Step -1
    Set myRng = Selection.GoTo( _
      what:=wdGoToPage, which:=wdGoToAbsolute, Count:=i)
    Set myRng = myRng.Bookmarks("\page").Range
    With myRng.Find
      .Text = myStr
      .Wrap = wdFindStop
      If .Execute Then
        myRng.Bookmarks("\page").Range.Delete
      End If
    End With
  Next

End Sub
・ツリー全体表示

【792】Re:スタイルの設定について
発言  マナ  - 13/6/16(日) 20:00 -

引用なし
パスワード
   こことか関係あるかもと試してみたのですが、
チェックがONでもOFFでも結果は同じでした。

リンクされたスタイルを使用不可にするとは?
ht tp://www.relief.jp/itnote/archives/003904.php
・ツリー全体表示

【791】Re:スタイルの設定について
質問  マナ  - 13/6/16(日) 19:37 -

引用なし
パスワード
   2007以降の場合、こうすべきなのかなと思いましたが?
よくわかっていません。
どなたか教えて下されば嬉しいです。

If s.Type = wdStyleTypeParagraph Or _
  s.Type = wdStyleTypeParagraphOnly Or _
  s.Type = wdStyleTypeLinked Then
・ツリー全体表示

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