Excel VBA質問箱 IV

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

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


8450 / 13646 ツリー ←次へ | 前へ→

【33232】すでに開いているワードファイルをアクティブにしたい kyu 06/1/5(木) 16:02 質問[未読]
【33236】Re:すでに開いているワードファイルをアク... Kein 06/1/5(木) 16:26 発言[未読]
【33242】Re:すでに開いているワードファイルをアク... ちくたく 06/1/5(木) 18:19 発言[未読]
【33244】Re:すでに開いているワードファイルをアク... ichinose 06/1/5(木) 19:10 発言[未読]
【33252】Re:すでに開いているワードファイルをアク... kyu 06/1/5(木) 21:09 お礼[未読]

【33232】すでに開いているワードファイルをアクテ...
質問  kyu  - 06/1/5(木) 16:02 -

引用なし
パスワード
   エクセルからすでに開いているワードのファイルをアクティブにして、処理をし、再びエクセルに戻り、またワードを処理するというような、マクロを考えていますが、参考になるようなマクロを見つけられず行き詰まっています。
どなたか、良い方法をご存じの方がいらっしゃれば御教授願います。

【33236】Re:すでに開いているワードファイルをア...
発言  Kein  - 06/1/5(木) 16:26 -

引用なし
パスワード
   CreateObject関数でワードのインスタンスを作る、その後はGetObject関数で
立ち上げたワードを参照し、各種の処理をする。という操作になるでしょう。
私はワードのオブジェクトやメソッド等をよく知りませんから、これ以上の回答は
出来ませんが。

【33242】Re:すでに開いているワードファイルをア...
発言  ちくたく WEB  - 06/1/5(木) 18:19 -

引用なし
パスワード
   kyu さん。
はずしていたらごめんなさいで、
昔作った、エクセルを次々にワードに貼り付けるコードです。

ちょっと、質問が抽象的で答えにくいですが、
アクティブというか、ワードファイルの名前がわかっていれば、
Document("FILENAME")みたいな感じで操作はできますよ。

Private Sub CommandButton1_Click()

Dim cellStr01 As String, cellStr02 As String
Dim cellInt01 As Integer, cellInt02 As Integer
Dim roopCount As Integer, initialCount As Integer
Dim nextRange As Integer
Dim copyRange As String

  cellStr01 = TextBox1.Text
  cellStr02 = TextBox3.Text

  cellInt01 = TextBox2.Text
  cellInt02 = TextBox4.Text
  
  nextRange = cellInt02
  
  roopCount = TextBox5.Text
  
  Label2.Visible = True
  
'指定回数(種数)分ループ。行ってらっしゃいって感じ。
For initialCount = 1 To roopCount Step 1

  'コピーの範囲を先に格納。
  copyRange = cellStr01 & cellInt01 & ":" & cellStr02 & cellInt02

  'まず、エクセルからコピー
  Workbooks(excelFile).Activate
  Range(copyRange).Copy

  'ワードにペースト
  'まぁ、アクティブにしといて。
  Documents(wordFile).Activate
  
  'カーソルの場所をペースト。メタファイルを前面貼り付け。
  Word.Selection.PasteSpecial Link:=False, _
    DataType:=wdPasteEnhancedMetafile, _
    Placement:=wdFloatOverText, DisplayAsIcon:=False
  
  'ちょっと強引に次のページに移動。
  Word.Selection.GoToNext wdGoToPage

  '次の範囲へ移動。
  cellInt01 = cellInt01 + nextRange
  cellInt02 = cellInt02 + nextRange
  
Next initialCount

'貼り付けが終了したら。
Unload harihari
MsgBox "任務は成功しました。"

End Sub

【33244】Re:すでに開いているワードファイルをア...
発言  ichinose  - 06/1/5(木) 19:10 -

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


>エクセルからすでに開いているワードのファイルをアクティブにして、処理をし、再びエクセルに戻り、またワードを処理するというような、マクロを考えていますが、参考になるようなマクロを見つけられず行き詰まっています。
指定ワードドキュメントをアクティブにするには・・・。

'======================================================
Sub test()
  Const doc = "開いているWord文書.doc"
  dim wd as object
  Set wd = GetObject(, "word.application")
  AppActivate wd.Caption
  wd.documents(doc).Activate
  set wd=nothing
End Sub

で可能ですが・・・。

【33252】Re:すでに開いているワードファイルをア...
お礼  kyu  - 06/1/5(木) 21:09 -

引用なし
パスワード
   keinさん・ちくたくさん・ichinoseさんありがとうございました。
おかげさまでなんとか思いどうりの動きができそうです。
本当にありがとうございました。

8450 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free