Word VBA質問箱 IV

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

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


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

【355】Re:フォルダー内のテキストファイルを連結...
お礼  tootsie  - 05/9/30(金) 16:58 -

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

ご回答ありがとうございます。お礼が遅れてすみません。

まず、参照設定についてですが、おっしゃるとおりの4つに加えてNormalにチェックが入っています。(Microsoft Word 10.0 Object Library は 9.0です)Normalのチェックが悪影響しているとも思えないので、というか、チェックを取ってしまうとせっかく作った別のマクロに影響するのではないかと不安に感じて、そのままにしています。

次に、as Variantで実験したところ、

「' ファイルの指定
 Set myDlgPick = Application.FileDialog(msoFileDialogFilePicker)」のところで「.FileDialog」がハイライトされた状態でコンパイルエラー「メソッドまたはメンバが見つかりません」と出てきます。

その他のおっしゃる方法は、自分なりにいろいろ試してみましたが、どうも効果が上がりません。

お忙しいとは存じますが、上記コンパイルエラーを解決する方向でよいお知恵をお貸しいただければ幸いです。

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

【354】セルの表の印刷時
質問   E-MAIL  - 05/9/28(水) 15:18 -

引用なし
パスワード
   はじめまして
しおりの作成をしております。
セルを用いて表を作成したのですが印刷時に上手く行きません。
症状は印刷時に塗りつぶした場所が塗りつぶされていません。
2ページ印刷で偶数ページのみ、症状が出ています。
また、偶数ページを1ページのみ印刷した場合はちゃんと塗りつぶされています。
分かりにくいかと思いますが宜しくお願いします。
・ツリー全体表示

【353】Re:あるTableオブジェクトの直近の見出しを...
お礼  日比野桜子  - 05/9/27(火) 20:46 -

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

ご丁寧にいろいろ教えていただきありがとうございました^^
おかげさまで万事うまくいきました♪
・ツリー全体表示

【352】Re:あるTableオブジェクトの直近の見出しを...
回答  H. C. Shinopy  - 05/9/26(月) 23:42 -

引用なし
パスワード
   見出し文字のことを忘れておりました。
箇条書きの値に対応する文字列も取得する場合は、
次の通りです。

見出し3の所にカーソルがある状態で、実行してみて下さい。

MsgBox "[" & Selection.Range.ListFormat.ListString & "] " & Selection.Range.Text
・ツリー全体表示

【351】Re:あるTableオブジェクトの直近の見出しを...
質問  日比野桜子  - 05/9/26(月) 19:00 -

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

翌日に早速ご回答戴いたのにお礼が遅れて失礼しました。
提示いただいたコード中、直前の行が「見出し3」であるか
どうかチェックする部分は、該当しない場合はループさせて
1行ずつ巡っていく感じになるんですかね。
現在抱えてる案件は確かに「見出し3」以下にしか表を配置
しないドキュメントですので、これでなんとか解決しそうです。
ありがとうございました。

ついでなのでもう1つ教えていただきたいのですが、
Select.Range.Text では見出し文字(「1.1.3. 見出しタイトル」の「1.1.3.」)
が取得できないようなのですが、これも含めて取得する方法はありますか?
・ツリー全体表示

【350】WORDで各文章のズレについて
質問  YOSHI  - 05/9/23(金) 13:03 -

引用なし
パスワード
   今、ワードで書類を作っているのですが最初左端にフォントサイズ15で見出しを作り、同じ行にサイズ10.5で内容を打ち込んでいるのですが、各見出しは左端で揃っているのですが、各内容の文章の始まりがズレてしまいます。
基礎的な質問だと思いますが、何回試しても出来ません。
よろしかったらアドバイスお願いします。
・ツリー全体表示

【349】Re:フォルダー内のテキストファイルを連結...
回答  H. C. Shinopy  - 05/9/21(水) 23:29 -

引用なし
パスワード
   エラーが出ましたか? 
実のところ、なぜかは判らないのですが、、
できることを回答しておきます。

「ユーザ定義型は定義されていません」表示の件:
申し遅れましたが、私の環境はWord 2002です。
(当方では、エラーが再現されませんでした。)
2000と2002でVBAの仕様に大幅な変更はないハズなのですが・・・
取り敢えず、Dim文を変更して、「Dim myDlgPick As Variant」で逃げる。
それでもエラーが発生する場合は、参照設定を確認して下さい。

私の環境下の参照設定は、次の4つにチェックボックスがオンになっています。
(「標準状態」です。Word 2000の場合は「10.0」が「9.0」になっていると思います。)
Visual Basic For Applications
Microsoft Word 10.0 Object Library
OLE Automation
Microsoft Office 10.0 Object Library

Variant指定が気になる場合は、
「Set myDlgPick = Application.FileDialog(msoFileDialogFilePicker)」の次に
「MsgBox TypeName(myDlgPick)」を追加して、実行テストをして頂き、
表示された文字列を「Dim myDlgPick As 」の後に付ける。


それから、「テキストファイルの収納された場所に関する記述」の件
ダイアログボックスが表示されれば、
挿入したいファイルを選ぶことができるわけですが、
「With myDlgPick 〜 End With」中の「.InitialFileName = 」に
「"C:\Documents and Settings\monkey\デスクトップ"」を指定して下さい。
(私の作ったマクロでは、実行テストの都合で
「"C:\Documents and Settings\User\My Documents\Zzz"」を指定しています。)

その上で、Wordを起動した直後の状態で処理を実行してみて下さい。
(元々、他のファイルを開いていると、前処理で処理を止めるようにしていますが・・・)
・ツリー全体表示

【348】Re:フォルダー内のテキストファイルを連結...
お礼  tootsie  - 05/9/21(水) 17:21 -

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

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

さっそく使ってみましたが、最初のところで「コンパイルエラー」が出てしまい、操作は暗礁に乗り上げてしまいました。

冒頭の「Dim myDlgPick As FileDialog」のところで「ユーザ定義型は定義されていません」と出てしまいます。私の使用しているワード2000のVBAはVersionが6.0なので、そのせいでしょうか。ヘルプを見ると「最初に Type...End Type ステートメントで定義するか、適切に登録されたオブジェクト ライブラリまたはタイプ ライブラリで定義する必要があります」とあります。

どのように定義すればよいのやら・・・・・。途方に暮れています。

また、いただいたマクロの中には、テキストファイルの収納された場所に関する記述がまったく見当たらないのですが、それでも、その場所を探し出して、そのファイルデータをもってくる(挿入する)ということが可能なのでしょうか・・・・・。

お忙しいことと思いますが、お返事いただければ幸いです。
・ツリー全体表示

【347】WORDファイルからテキストファイルへの...
質問  ちーかま  - 05/9/21(水) 13:46 -

引用なし
パスワード
   WORDを使用して作成したドキュメントファイルを
テキストファイルに変換出力したいのですが、どのように
すればよいでしょうか?
その際、テキストファイルへの変換結果について体裁は問いません
ドキュメントファイル内の「文字列」が全てテキストファイルに出力
されればOKです。
どなたか御存知の方がいらっしゃいましたら、回答を御願いします。
・ツリー全体表示

【346】Re:あるTableオブジェクトの直近の見出しを...
回答  H. C. Shinopy  - 05/9/17(土) 23:08 -

引用なし
パスワード
   取り敢えず、回答させて頂きます。

誠に臭い手段ですが、
カーソルの移動によって[見出し3]の文字列を取得したら、
どうでしょうか?
表の中を処理した後で、カーソル移動で[見出し3]を取り込むのです。

Sub myTableAndHeading3()
 Dim myTable As Table
 '
 Rem 表ごとの処理
 For Each myTable In ActiveDocument.Tables
  Rem ここで、表の中の処理をしておく。
  '
  Rem 見出しの処理
  myTable.Select ' 表を選択状態にする。
  Selection.MoveUp Unit:=wdLine, Count:=1 ' カーソルを1行上に移動する。
  Selection.EndKey Unit:=wdLine, Extend:=wdExtend ' 移動先の行を選択する。
  '
  If Selection.Range.Style = "見出し 3" Then
   Rem 見出し3の処理
   MsgBox "見出し 3:" & Selection.Range.Text ' 見出し3の文字列を表示する。
  Else
   MsgBox "Untitled!"
  End If
 Next ' myTable
 '
 Rem 後処理
 Selection.HomeKey Unit:=wdStory ' カーソルを文書の先頭に移動する。
End Sub ' myTableAndHeading3
・ツリー全体表示

【344】Re:フォルダー内のテキストファイルを連結...
回答  H. C. Shinopy  - 05/9/16(金) 23:58 -

引用なし
パスワード
   このごろは、朝夕の気温が下がってきました。さて、

「テキストデータの連結」ということですが、
Word文書上でファイルの挿入の操作をマクロですると解釈して、話を進めます。

ダイアログボックスでファイルを選び、
Word文書上に挿入するマクロが既にありますので、
これにファイル操作の処理を継ぎ足して、
載せておきます。

いきなりファイルの削除をお考えのようですが、
ファイル名の変更で処理するようにしています。

問題がないのであれば、Remを付け替えれば、
ファイル削除に変更できるようにしましたが、
このマクロを実行する前に、ファイルのバックアップをして下さい。

Sub myTxtInsert()
 Rem テキストファイルの挿入
 Dim myDlgPick As FileDialog
 Dim mySelectedItem As Variant
 Dim myWord As Word.Application
 '
 Dim myFso As Variant
 Dim myFile As Variant
 Dim myNewFile As String
 '
 ' 前処理
 If Documents.Count >= 2 Then
  MsgBox "文書を閉じて下さい。"
  Exit Sub
 End If
 If Documents.Count = 1 Then
  If ActiveDocument.Characters.Count > 1 Then
   MsgBox "文書を閉じて下さい。"
   Exit Sub
  Else
   If ActiveDocument.Words(1).Text <> vbCr Then
    MsgBox "文書を閉じて下さい。"
    Exit Sub
   Else
    ActiveDocument.Close
   End If
  End If
 End If
 '
 ' ファイルの指定
 Set myDlgPick = Application.FileDialog(msoFileDialogFilePicker)
 With myDlgPick
  .AllowMultiSelect = True
  .InitialFileName = "C:\Documents and Settings\User\My Documents\Zzz"
  .Filters.Add "テキストファイル", "*.txt", 1
  If .Show = 0 Then
   Rem [キャンセル]
   Set myDlgPick = Nothing
   Set myWord = Nothing
   Application.Documents.Add
   Exit Sub
  End If
 End With
 '
 ' ファイルの挿入
 Set myFso = CreateObject("Scripting.FileSystemObject")
 Set myWord = GetObject(, "Word.Application")
 Application.Documents.Add
 '
 For Each mySelectedItem In myDlgPick.SelectedItems
  With Selection
   .HomeKey unit:=wdStory, Extend:=wdMove
   .InsertFile FileName:=mySelectedItem, Range:="", ConfirmConversions:=False, _
    Link:=False, Attachment:=False
   .InsertBreak Type:=wdPageBreak ' 改ページ
   '
   Set myFile = myFso.GetFile(mySelectedItem)
   Rem *----*----*
   Rem myNewFile = myFso.GetFileName(mySelectedItem)
   Rem myFso.DeleteFile myNewFile ' ファイル削除
   Rem *----*----*
   myNewFile = "Zzz" & myFso.GetFileName(mySelectedItem)
   myFile.Name = myNewFile ' ファイル名を「Zzz〜」に変更
   Rem *----*----*
  End With
 Next mySelectedItem
 '
 ' 後処理
 Set myDlgPick = Nothing
 Set myWord = Nothing
 Set myFso = Nothing
 Set myFile = Nothing
End Sub ' myTxtInsert
・ツリー全体表示

【343】フォルダー内のテキストファイルを連結する
質問  tootsie  - 05/9/16(金) 18:11 -

引用なし
パスワード
   関東地方はようやく秋の気配で熱帯夜から解放されそうです。

さて、単刀直入ですが、

フォルダーの中にある複数のテキストデータを連結してワードの画面に表示するというワードマクロを作ることは可能でしょうか。

たとえば、
パソコンのCドライブにある「C:\Documents and Settings\monkey\デスクトップ」内の「作業ファイル」という名前のフォルダーにある複数のテキストファイル(テキストファイル名は位の定まらないランダムな数字で、012.txt、053987.txtなど)をすべて連結して、ワードの画面に表示させる。その後で作業ファイル内のテキストデータを消去する。
というやり方です。
ちなみに、パソコンはDELLでCドライブはPC本体です。

よろしくご教示ください。
・ツリー全体表示

【342】あるTableオブジェクトの直近の見出しを取...
質問  日比野桜子  - 05/9/16(金) 0:49 -

引用なし
パスワード
   Wordドキュメント内の表オブジェクトの内容を、Excelに出力するマクロを作成しています。
Tablesコレクションを順に処理する方法で実現させていますが、この際、カレントTableオブジェクトが属する段落の見出しを取得するにはどのようにすればよいでしょうか。

例)Table-1に注目している場合、"1.1.1 見出し3"という文字列を取得したい。

 1. 見出し1
  1.1 見出し2
  1.1.1 見出し3
   [ Table-1 ]
   [ Table-2 ]
  1.1.2 ....
   [ Table-3 ]
  1.2 ....

なにぶん超初心者なので五里霧中です。
お力添えいただければ幸いです。
なお、当方Word2000を使用しています。
・ツリー全体表示

【340】Re:ルビを振ったときの悲しい現象
発言  Jaka  - 05/9/13(火) 16:57 -

引用なし
パスワード
   こんにちは。

どういう状況なのか良く解ってませんが、
ルビの配置が「左揃え」になっているだけではないでしょうか?
中央揃え、均等割付を選んだらどうなるのでしょうか?
by97
・ツリー全体表示

【339】ルビを振ったときの悲しい現象
質問  roal  - 05/9/9(金) 20:17 -

引用なし
パスワード
   こんにちは。
Wordでルビを振ったときに現れる現象につきまして、どなたか助言をいただけないでしょうか。
ルビを振るためにダイアログボックスを開き、「ok」をクリックして確定すると、ルビは振られるのですが、同時にルビの振られた語句が2つに増えてしまいます。
つまり、ルビの振られた単語の後ろにもう一つルビの振られていない単語が続くのです。
どなたか、この現象の解決方法をご存じの方、ご教授ください。
よろしくお願いします。
・ツリー全体表示

【338】おそらく解決していると思いますが、、、。
回答  一般ユーザー  - 05/9/9(金) 2:17 -

引用なし
パスワード
   4月の書込なのでおそらく解決していると思いますが、、、。
ツールバーに「チェック/コメント」というのがあります。
それを表示して表示内容を「最終版」して印刷してみてはいかがでしょうか?
ちなみに「最終版(変更箇所/コメントの表示)」の状態ですとご質問のFormatで印刷されます。
・ツリー全体表示

【337】Re:クリップボードについて
お礼  初心者  - 05/9/7(水) 15:45 -

引用なし
パスワード
   ちくたくさん、ありがとうございました。
解決しました。
・ツリー全体表示

【336】Re:クリップボードについて
回答  ちくたく  - 05/9/7(水) 14:52 -

引用なし
パスワード
   こんにちは。
昔、懐かしい感じがしますね。このショートカット。
さて、Ctrl+Insertは、コピーです。
貼り付けは、Shift+Insertです。
最近は、Ctrl+Vがよくあるでしょうね。

▼初心者 さん:
>ワードにダイヤログボックスのコピーが貼り付けできません。
>やり方)
>1).Alt+PRINTでダイヤログのコピーをして、
>2).Ctrl+Insretでコピーしたダイヤログを貼り付ける
>以上の方法で、やってみたのですが、貼り付けできませんでした。
>どこを設定すれば、貼り付けることができるのでしょうか?
・ツリー全体表示

【335】クリップボードについて
質問  初心者  - 05/9/7(水) 13:24 -

引用なし
パスワード
   ワードにダイヤログボックスのコピーが貼り付けできません。
やり方)
1).Alt+PRINTでダイヤログのコピーをして、
2).Ctrl+Insretでコピーしたダイヤログを貼り付ける
以上の方法で、やってみたのですが、貼り付けできませんでした。
どこを設定すれば、貼り付けることができるのでしょうか?
・ツリー全体表示

【334】文字確定前のマクロ実行に関して。
質問  99  - 05/9/5(月) 20:24 -

引用なし
パスワード
   http://pc8.2ch.net/test/read.cgi/tech/1122001458/99-100#tag99

2chに投稿しましたが、お返事いただけず、
より専門的なこちらで質問させていただきます。

ご回答は、こちらで賜りますようお願い申し上げます。

レスがあったらメールほしい設定にしました。


問題を端的にいうと:
VBAである動作(例えば選択文字列の拡張等)をさせたい。
しかし、入力された文字列が確定される前の段階、
即ち文字列が変換中は、上記のVBA動作を無効にしたい。
私は、WM_IME_Startcompositionを監視して、
上記の目的を達成しようと思っているのですが、
いまだ、いたりません。
他にも方法あるのではないかと、わらにもすがる思いです。
・ツリー全体表示

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