@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

このコードを直すついて

1
投稿者投稿内容
未記入
会議室デビュー日: 2005/07/19
投稿数: 15
投稿日時: 2005-08-26 09:52
今このコードは、
Excel.Application ThisApplication = new Excel.ApplicationClass();
ThisApplication.Workbooks.Open(
fileName,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing);

((Excel.Worksheet)ThisApplication.ActiveSheet).Protect("car",true,true,true,true);
ThisApplication.ScreenUpdating = false;
ThisApplication.ScreenUpdating = true;
//ThisApplication.Workbooks["T作業マスタ.xls"].Close(true, "T作業マスタ.xls", null);//true, m_OutPath + "\\T作業マスタ.xls", null
ThisApplication.ActiveWorkbook.Save();
ThisApplication.ActiveWorkbook.Close(false,null,null);

ThisApplication.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(ThisApplication);
ThisApplication = null;

--------------------------------------------------------------------------------
この形式に直すようにする、どしてする?教えてください。
Object O = Activator.CreateInstance(Type.GetTypeFromProgID("Excel.Application"));
Type ThisApplication = O.GetType();
PropertyInfo Workbook = ThisApplication.GetProperty("Workbooks");
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-08-26 10:21
現状のコードのままの方が良いと思うんですが...



_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
nodera
大ベテラン
会議室デビュー日: 2003/09/08
投稿数: 200
投稿日時: 2005-08-26 10:31
こんにちは。

なぜ、そのようなコードに直したいのかわかりませんが、Workbooksが直したほうのコードだと取れないってことですよね?

こんなコードでいかないかな・・・?(未検証)
Object workbooks = ThisApplication.InvokeMember("Workbooks", BindingFlags.GetProperty, null, O, null);

あれ、プロパティの情報自体がほしいのかな?
こちらが参考になるかも。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2005-08-26 10:40
http://support.microsoft.com/default.aspx?scid=kb;ja;302902
未記入
会議室デビュー日: 2005/07/19
投稿数: 15
投稿日時: 2005-08-26 13:34
みんな、ありがと
1

スキルアップ/キャリアアップ(JOB@IT)