[[20140314102659]] 『エクセルvbaからワードの操作』(とまと) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『エクセルvbaからワードの操作』(とまと)

vbaを初めてまだまだ少しの初心者です。

エクセルvbaからワードを開き、ワード文書内のInlineShapesの2番目のものをコピーして、
エクセルのシートにペーストしたいです。

エクセルvbaからワードを開くところはできているのですが、
InlineShapesを指定してコピーするところで困っています。

ワードvbaで、InlineShapesの2番目のものをコピーする時は以下のコードから操作できたのですが、
これをエクセルvba上で行うにはどのようにアレンジしたらよろしいでしょうか?

Dim doc As Document

  Set doc = ActiveDocument
  doc.InlineShapes(2).Select
  Selection.Copy

低レベルな質問でしたら申し訳ございません。
ご教示お願い致します。

< 使用 Excel:Excel2007、使用 OS:unknown >


 Word の処理に依存した部分は内容が不明ですが、前段だけ。
http://www.simple-sys.com/blog/2008/03/29/172/

 にあるように、参照設定で Word をチェックします。

 EXCEL でのコードは
 Sub Sample()
    Dim wd As New Word.Application
    wd.Visible = True

    Dim doc As Document
    Set doc = wd.Documents.Open("D:\sample.docx")

    :
 End Sub

 EXCEL でファイルやシートにまたがるときはファイルやシートを指定するように
 アプリケーションをまたがるときはアプリケーションを指定して処理します。

(Mook) 2014/03/14(金) 10:57


ご回答ありがとうございます。
説明不足で申し訳ありませんでした。
ワードを開くところは以下のコードを作りました。

    'フォルダの中のファイルを読み込む
    Const FolderPath = "フォルダ名"  
    Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject") 

    Set objWord = CreateObject("Word.Application")  
    objWord.Visible = True

    Dim i As Integer
    i = 1
    For Each myFile In fso.GetFolder(FolderPath).Files    
        If fso.GetExtensionName(myFile.Path) = "RTF" Then  
            Set objDoc = objWord.Documents.Open(myFile.Path)

ワードで開きたいファイルはRTFファイルです。

その後は

    objWord.InlineShapes(2).Select
    objWord.Selection.Copy
    Sheets("Sheet1").Select
    Cells(A,1).PasteSpecial Paste:=xlPasteValues

    objDoc.Close
    End If
    i = i + 1
    Next

としたのですが、「objWord.InlineShapes(2).Select」のコードがうまくいきませんでした。
よろしくお願い致します。

(とまと) 2014/03/14(金) 11:07


解決いたしました。
ありがとうございました。
(とまと) 2014/03/14(金) 12:33

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.