[[20080131032458]] 『ブックを開かずにデータを書き込む方法はあります』(しろーと) ページの最後に飛ぶ

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

 

『ブックを開かずにデータを書き込む方法はありますか?』(しろーと)
 他ブックから、ブックを開かずにデータを読み込む場合
 ExecuteExcel4Macro を使えばブックを開かずに読み込むことが可能ですが
 開いていない、ブックにデータを書き込むことは、
 可能なのでしょうか?
 どなたかご存知でしたら、是非お教え下さい。
 よろしくお願い致します。


 無理なのではないでしょうか?
 例えばVBを使った場合でもExcelの画面は一切出てきませんが、メモリ内では開いている(起動している)
 のは、タスクマネージャーのプロセスで確認できます。

 まして書き込んだ後は上書き保存するのですから、開かずにはいられないでしょう。
 と考えます。
 (じゅんじゅん)

ファイルを開かずにではなく、Excelがブックを開かずにブックにデータを書き込むことは

ブックの形式が限定される場合だけかもしれません(シートをDBのテーブルに見立てて)が、

ADOやDAOを使うと可能です。

テスト程度でしか試したことがないのですが・・。

だいぶ以前に下記のご質問を受けた時に試したことがあります。

別サイトで恐縮ですが・・・。

http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=9098;id=excel

ichinose@仕事前のコーヒータイム

 


追伸 

でも、

開いていない、ブックにデータを書き込む

どうしてこんな処理が必要なのでしょうか?
マクロを使用しているユーザーに ブックが開いているさまを見せたくないなら、

Sub main()

    Application.ScreenUpdating = False
'   ブックを開いて 書き込み処理
'   ブックを閉じる
    Application.ScreenUpdating = True
End Sub

という手順でもいけそうですが・・。
面倒な手続きもないし。

ichinose@もう出かけます


 多数のコメント恐縮です。
 決っして見せたくないなどという根拠ではなく、
 データベースとして使用しているブックが大きく、開くと重いので
 開かずに読む方法があれば、開かずに書き込む方法はないのかなと?
 単純に思っただけです。
 なにせ、職場のパソコンは、メモリーも小さく鈍いものですから...。
 参考になりました、ありがとうございます。
 (しろーと)


開くと重いので

ならば、媒体をAccess等のDBに代えましょう。

Excelに慣れているなら、EXCEL/VBAから、mdbファイルは操作できます

リンクしたADOでExcelブックを操作するのと殆どコードは変わりません。

いや、それのほうが一般的です。

(Accessがあった方がメンテは楽ですが、なくてもMDBファイルの生成はできます)

ということも検討してみてください。

ichinose


 貴重なご意見ありがとうございます。
 不慣れですが、Accessも視野に入れて、検討していきたいと思います。

 しろーと


コメント返信:

[ 一覧(最新更新順) ]


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