C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.53219 の関連記事表示

<< 0 >>
■53219  Re[2]: 教えてください!!
□投稿者/ なつき -(2010/09/07(Tue) 13:01:18)
    2010/09/07(Tue) 13:50:23 編集(投稿者)
    2010/09/07(Tue) 13:50:18 編集(投稿者)
    No53218 (shu さん) に返信
    > 2010/09/07(Tue) 12:30:41 編集(投稿者)
    >
    返信ありがとうございます。

    >Excel参照設定しないで使いたいってことですか?目的がよくわからなのでそう解釈します。
    既存ソースでは、object型で宣言していましたので、「Excel.xxx型を使わない方法」を知りたかったんです。
    説明不足ですみません。途中まで、他のサイトを引用して作成したんですが、画像貼り付けの部分がわからなかったので
    投稿しました。

    private void ExcelBtn_Click(object sender, EventArgs e)
    {
    object xlsApp = null;
    object xlsBooks = null;
    object xlsBook = null;
    object xlsSheets = null;
    object xlsSheet = null;
    object xlsRange = null;
    object xlsShapes = null;
    object xlsShape = null;

    // Excelファイルのパス
    string xlsPath = @"xxx\uuu.xls";

    // Excelのクラスのタイプとインスタンスを取得する
    Type objClassType;

    objClassType = Type.GetTypeFromProgID("Excel.Application");
    xlsApp = Activator.CreateInstance(objClassType);
    // xlsApp = CreateObject("Excel.Application");

    //ワークブックコレクションオブジェクト
    xlsBooks = xlsApp.GetType().InvokeMember("Workbooks", BindingFlags.GetProperty, null, xlsApp, null);

    //Excelファイルのオープン
    xlsBook = xlsBooks.GetType().InvokeMember("Open", BindingFlags.InvokeMethod, null,xlsBooks,
    new object[] { xlsPath
    , Type.Missing
    , Type.Missing
    , Type.Missing
    , Type.Missing
    , Type.Missing
    , Type.Missing
    , Type.Missing
    , Type.Missing
    , Type.Missing
     , Type.Missing
     , Type.Missing
     , Type.Missing});

      xlsSheets = xlsBook.GetType().InvokeMember("WorkSheets", BindingFlags.GetProperty, null, xlsBook, null);
      xlsSheet = xlsSheets.GetType().InvokeMember("Item", BindingFlags.GetProperty, null, xlsSheets, new object[]   { 1 });
      xlsRange = xlsSheet.GetType().InvokeMember("Range", BindingFlags.GetProperty, null, xlsSheet, new object[]   { "A1" });
      string a1 = (string)xlsRange.GetType().InvokeMember("Value", BindingFlags.GetProperty, null, xlsRange,     null);
      MessageBox.Show(xlsShapes.ToString());

      xlsRange = xlsSheet.GetType().InvokeMember("Range", BindingFlags.GetProperty, null, xlsSheet, new object[]   { "B1" });
      string b1 = (string)xlsRange.GetType().InvokeMember("Value", BindingFlags.GetProperty, null, xlsRange,     null);
      MessageBox.Show(b1);
    }
記事No.53217 のレス /過去ログ89より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -