DOBON.NETプログラミング道掲示板
HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
No35639 の記事
■35639
/ )
Re[2]: GetObjectでExcelファイルを加工するとExcelファイルが壊れる
□投稿者/ suekun
一般人(4回)-(2024/12/11(Wed) 17:03:45)
魔界の仮面弁士さん ありがとうございます。
> 一口に「破損」としか書かれていませんが、
> 具体的にはどういう状態になってしまうのでしょうか?
>
> 保存処理自体が失敗するのか、
→成功します。
> 保存処理時にエラーメッセージが出るのか、
→エラーメッセージも出ません。
> 保存は行われるが、保存結果が「シート数 0 の不正なブック」になるのか
→その通りです。(開きますが、シートが無く、ブック名も表示されません。Excelだけを開いた状態になります。)
> .xlsx 形式で保存したはずが .xls 形式になってしまうのか、
→なりません。
> 処理が無応答状態となってフリーズするのか、など。
→フリーズはしません。
>
>
> また、全面的に Marshal.ReleaseComObject メソッドの呼び出しが漏れているように見えます。
→別ルーチンで行っていますが、今回は割愛させていただきました。
>
> 「非表示の EXCEL.EXE」がタスクマネージャー上で残留するなどしていた場合に
> 誤動作を引き起こしてしまう危険性があります。念のため、
> コードを修正する前に Windows を再起動しておきましょう。
→承知いたしました。
>
>
> で…既に起動済みの Excel インスタンスに対して
> = GetObject(,"Excel.Application")
> などでアクセスするのならば良いですが、
> = GetObject("Z:\Example.xlsx")
> などでのアクセスはあまりお奨めしません。
→
Dim Appxl As New Excel.Application
wb = Appxl.Workbooks.Open(ListFile)
で開くようにしたところ、破損せずに保存することが出来るようになりました。
この方法で大丈夫でしょうか?
よろしくお願い申し上げます。
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
返信
削除キー/
編集
削除
Mode/
通常管理
表示許可
Pass/
HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
-
Child Tree
-