• ベストアンサー

Wordの選択した文字列をVBAを使用してExcelにペーストしたい

a.docにある「サンプル」という文字列を選択後、 マクロの実行でb.xlsのA1にペーストするには どうすればよいのでしょうか? 使用OS:Windows XP 使用ソフト:Microsoft Excel 2003 ご存知の方がおられましたらご回答をよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

すみません、載せるコードが間違ってました ただ、「アプリケーション定義またはオブジェクト定義のエラーです。」が出る件は分かりません(何か環境が違うのでしょうか?)。 No.1 Selection.Copy Set app = GetObject(, "Excel.Application") Set wb = app.Workbooks("b.xls") Set ws = wb.Worksheets("Sheet1") ws.Range("A1").PasteSpecial Paste:=-4163 No.2 Dim app Set app = GetObject(, "Word.Application") app.Selection.Copy ThisWorkbook.Worksheets("Sheet1").Range("A1").PasteSpecial Paste:=xlPasteValues

nana_watuki
質問者

お礼

上記の通りにやってみたところ問題を解決することができました。 ご回答いただきどうもありがとうございました。

その他の回答 (2)

回答No.2

No.1はWordのマクロなんですがそれでよかったでしょうか? Excelのマクロでしたら次の通り。 Dim app Set app = GetObject(, "Word.Application") app.Selection.Copy ThisWorkbook.Worksheets("Sheet1").Range("A1").PasteSpecial Paste:=xlValue

回答No.1

こんな感じでいけます。 Dim app Dim wb Dim ws Set app = GetObject(, "Excel.Application") Set wb = app.Workbooks("b.xls") Set ws = wb.Worksheets("Sheet1") ws.Range("A1").PasteSpecial Paste:=2

nana_watuki
質問者

補足

早速やってみたところ、どちらも「アプリケーション定義またはオブジェクト定義のエラーです。」 と表示されて、最後の行の背景色が黄色になりました。

関連するQ&A

  • VBAを使用してWordからExcelのマクロを実行したい

    a.docからb.xlsのVBA(マクロ)の Sub sample() MsgBox "hello" End Sub を実行できるようにするにはどうすればよいのでしょうか? 使用OS:Windows XP 使用ソフト:Microsoft Excel 2003 ご存知の方がおられましたらご回答をよろしくお願いします。

  • 選択した文字列の位置と文字数を取得したい(VBA)

    セルや図形にテキストを入力し、 そのテキストの一部分を選択した状態でマクロを実行した時に、 何文字目から何文字目までを選択しているのかを取得するコードを ご存知の方がおられましたら教えていただけませんでしょうか? 文字列の内容、選択する部分は決まっていません。 使用環境は、Windows7とMicrosoft Excel2010です。 よろしくお願いいたします。

  • ExcelのVBAで下線のついている文字列の前後の位置を取得したい。

    ExcelのVBAで下線のついている文字列の前後の位置を取得したい。 例えば、下記のような文章で「sample」という文字列に下線がついている場合 「sample」の文字列の前後の位置(4,10)を取得したい これはsampleの文章です。 使用OS:Windows XP 使用ソフト:Microsoft Excel 2003 ご存知の方がおられましたらご回答をよろしくお願いします。

  • EXCEL VBAでのWord操作

    ExcelのVBAにて、Wordファイルに挿入されているExcel表を更新したいのですが、 どのように記述すればよりかわかりません。 具体的には以下のとおりとなります。 「在庫.xls」 のセル A1 「照合表.doc」に挿入されているExcel表には「在庫.xls」のセルA1を参照するように記述が 入っています。 「在庫.xls」にコマンドボタン「更新」を作成し、実行すると「照合表.doc」の値が更新されるように マクロを組みたいのですが、どなたか知恵を貸してください。

  • ExcelのVBAで文章にある複数の同じ文字列の位置をそれぞれ取得したい

    下記のような記述だと1つめのsampleの位置(9文字目)は取得できても 2つめのsample(25文字目)の位置を取得することができません。 どうすれば2つめの文字列の位置を取得することができるのでしょうか? moji = "This is sample text for sample." n = InStr(moji, "sample") 使用OS:Windows XP 使用ソフト:Microsoft Excel 2003 ご存知の方がおられましたらご回答をよろしくお願いします。

  • Excel VBA 結合セルがある時に1列だけ選択

    A1からD1までの4つのセルが結合されている時に C列をクリックするとC列だけを選択できます。 これをVBAで記述するには どのように記述すればよいでしょうか。 マクロの記録では Columns("C:C").Select というコードが生成されるのですが マクロ記録時にC列だけが選択されていたのに 実行するとAからDの4列が選択されます。 読み込んだファイルを処理するので 結合セルの存在やセルは不定です。 よろしくお願いします。(Windows7,Excel2010)

  • エクセルVBAで実行する対象を選択文字列にするには?

    エクセルVBAで文字列を半角や全角にするマクロをつくっています。 私は、”あるセルに対して”はできるんですが、 その対象文字列を、”カーソルで選択して反転したところに対して”実行できるようにしたのです。できるんでしょうか。 よろしくおねがいします。

  • エクセルVBAでコピーペーストのやり方を教えてください。

    エクセルの他のブックの中に複数のシートがあり、そこから任意の複数のシートの任意の範囲をコピーペーストするやり方を教えてください。できればマクロに記録したいです。 例えば、あいう.xlsというファイルにデータが入っていて、シートは、 sheet1~sheet20まであるとします。 そこから今回はsheet2のC20~E500とsheet4のC20~E500までを、かきく.xlsというファイルのsheet1にコピペしたい。 かきく.xlsのsheet1のA1~C500にあいう.xlsのsheet2のC20~E500を貼りつけ、A501~C980にあいう.xlsのsheet4のC20~E500を貼りつけるというようにしたいです。 毎回列と行の範囲はどこのシートでもC20~E500で決まっているのですが、毎回sheet2とsheet4の範囲をコピペするわけではありません。 次回はsheet1~sheet19までの範囲かもしれません。 シートを選べ、1つのシートにまとめてコピペをしてくれるようなマクロを知りたいです。 エクセルは2003もしくは2007を使っています。 よろしくお願い致します。

  • VBA EXCELファイル選択⇒指定セルコピー

    マクロでこんなことできませんか? 完全でなくても構いませんので、できる範囲で教えてください。 宜しくお願いします。 マクロを起動すると、ファイルを選択するウインドウが開きます。ここで、あるExcelファイル(仮にC:\MYDOCUMENT\EXCEL\AAAA.xls)を選択すると、このファイルのセルB2,B3,B4,B5が、マクロを実行しているファイルの同じセルにコピーされ、更にセルB1に、AAAA.xlsの.xlsを抜いた数値のAAAAが入力されます。 AAAA.xlsは一度オープンになってもかまいませんが、自動的に閉じればベターです。

  • [Excel VBA]文字列でのTextBoxの呼び出し

    Worksheetを呼び出す際、Sheets("Sheet2")のように文字列で呼び出すことができますが、同じように文字列でTextBoxを呼び出すことはできますか? Microsoft Excel 2003 windows xp sp2

専門家に質問してみよう