オンラインシステムでデータ検索し、その結果がExcel(.xls形式)で表示されます。 別のExcelブックを開き、オンラインシステムから開いたブックを参照しようと しましたが見えません。 別のExcelブック側のVBEのプロジェクトエクスプローラーで確認しても、 オンラインシステムから開いたブックは見当たりません。 これは、2つのExcelブックが別のExcelで開かれているため参照できないということでしょうか。 実現したい処理は、オンラインシステムから開いたブックにあるシートを別に開いた ブックへのコピーです。
VBAで対応しなければいけないのですか? 一般機能で オンラインシステムで開いているブックの シートを新しいブックに複写し、任意の名前で保存するとよいです。 シートタブを右クリックして複写、⇒新しいブックを選択
下記でどうでしょう。
Dim xlApp As Object set xlApp = GetObject(, "Excel.Application")
Yaima さんの引用:これは、2つのExcelブックが別のExcelで開かれているため参照できないということでしょうか。
引用: オンラインシステムでデータ検索し、その結果がExcel(.xls形式)で表示されます。
WinArrowさん ありがとうございます。 (質問) VBAで対応しなければいけないのですか? (状況) 行おうとしている作業は、複数の担当者が携わるので、 VBAでの半自動化対応を考えています。 (質問) このExcelについての質問です。 (1)このブックは、当該PCにファイルとして保存されていますか? xls形式と書いてあるので、どこかのPCには保存されているとは思いますが・・・ (状況) 使用しているPCはネットワークに接続されており、ネットワークシステムの画面から Excel出力のボタンをクリックするとPCに表示され、表示されたExcelの画面上部中央に 表示されるファイル名で、xls形式と判断しています。 ローカルのPCには、ファイルとして保存されておらず、表示されたExcelを閉じると 何も残りません。 ただし、オンラインシステムがPC内の特定の場所(ユーザーが使わない場所)に 保存しているかは確認していません。 (質問) (2)このファイルのファイル名は固定でしょうか?可変でしょうか? (状況) オンラインシステムからPCの画面上に開かれるブック名は固定です。 hatenaさん ありがとうございます。 試してみます。
状況のご説明、ありがとうございます。 拡張子が付いているということは、オンラインシステムが、 ローカルPCの特定フォルダ内に保存していると思います。 私見ですが、 オンラインシステムで、次のような機能を追加してもらう方が 将来的にも得策と思います。 拡張子が「xls」ということは、97-2003バージョン対応のファイルです。 ともすれば、最新バージョンに対応したほうがよいと思います。 ツ追加する機能 「ファイルと保存するか」問合せ 保存するフォルダを選択させる。 名前をつけて保存する という数行程度のコードで対応できると思います。 システム担当者に相談してみるとよいです。 なお、ローカルで作成したシステムを起動する手間と コピーを保存する手間は、 ほとんど差がないと思います。 それより、システム側でファイル名を変更するようなことがあれば、 ローカルシステムと整合しなくなります。
WEBで公開している市の統計資料(Excel)で開いて GetObject を実行してみました。 WEBなので、EDGEの1タブとして開いているので、 GetObjectでは、取得できませんでした。 オンラインシステムの環境も調査したほうがよいですね・・・・
WinArrowさん ありがとうございます。 hatenaさん ありがとうございます。 改めて確認したところ、オンラインシステムが管理するフォルダーにXLS形式(マクロ含む)が 保存されており、オンラインシステムからのExcel出力は、オンラインシステムから出力した csvファイルをあらかじめ保存してあるExcelファイルに展開するものでした。 xls形式のファイルの所在が判明したので、 Set xlApp = GetObject("Book2").Application の構文でオンラインシステムからのExcelファイルのデータを取得し、 別のブックに張り付けることで、目的の処理を実現することができました。 以上で、この質問は解決とさせていただきます。 適切かつ迅速なアドバイスをありがとうございました。
利用者の皆様にお知らせです。
マイクロソフト オフィス スペシャリスト(MOS)
ビジネス統計スペシャリスト
IC3(アイシースリー)
VBAエキスパート
アドビ認定プロフェッショナル
Microsoft認定資格
App Development with Swift