none
VB.NETからエクセル使用方法 RRS feed

  • 質問

  • VB.NETからエクセルシートの「コントロールのラベルテキスト」または、「フォームのラベルテキスト」の変更をしたいのですが、コードの記述がわかりません。ご存知の方、どうか教えてください。お願いします。

    2006年5月26日 6:10

すべての返信

  • じゃ逆に質問。

    どこまでできていて、あとどれだけ足りないと考えているのか。

    VBAでのやりたいコードはどんなのか?くらいはわかっているのかどうか。

    2006年5月26日 7:01
  •  おっしゃるとおりです。すみません。

    現行では、エクセルに接続して、セルに対して編集をし、エクセルを終了するところまでは出来ておりまして、VBAでやりたいコードはラベルオブジェクトをどのように認識して、どのようなコードを使用して「Caption」に編集すればよいか。と言うことなのですが、あまり上手く説明できなくてすみません。よろしくお願いします。

    2006年5月26日 8:47
  • そのままは使えないと思うけど参考にどうぞ

    private static void テキストシェイプ値を設定する(Application app, string テキストシェイプ名, double 値, string Format, bool カラー設定フラグ, int ColorNo)
    {
     Worksheet worksheet1 = null;
     try
     {
      worksheet1 = (Worksheet) app.ActiveSheet;
      Excel.Shapes shapes1 = null;
      try
      {
       shapes1 = worksheet1.Shapes;
       Excel.Shape shape1 = null;
       try
       {
        shape1 = shapes1._Default(テキストシェイプ名);
        Excel.TextFrame frame1 = null;
        try
        {
         frame1 = shape1.TextFrame;
         Characters characters1 = null;
         try
         {
          characters1 = frame1.Characters(Missing.Value, Missing.Value);
          characters1.Text = 値.ToString(Format);
         }
         finally
         {
          if (characters1 != null)
          {
           Marshal.ReleaseComObject(characters1);
           characters1 = null;
          }
         }
        }
        finally
        {
         if (frame1 != null)
         {
          Marshal.ReleaseComObject(frame1);
          frame1 = null;
         }
        }
        Excel.FillFormat format1 = null;
        try
        {
         format1 = shape1.Fill;
         if (!カラー設定フラグ)
         {
          return;
         }
         Excel.ColorFormat format2 = null;
         try
         {
          format2 = format1.ForeColor;
          format2.SchemeColor = ColorNo;
          format1.Visible = MsoTriState.msoTrue;
         }
         finally
         {
          if (format2 != null)
          {
           Marshal.ReleaseComObject(format2);
           format2 = null;
          }
         }
        }
        finally
        {
         if (format1 != null)
         {
          Marshal.ReleaseComObject(format1);
          format1 = null;
         }
        }
       }
       finally
       {
        if (shape1 != null)
        {
         Marshal.ReleaseComObject(shape1);
         shape1 = null;
        }
       }
      }
      finally
      {
       if (shapes1 != null)
       {
        Marshal.ReleaseComObject(shapes1);
        shapes1 = null;
       }
      }
     }
     finally
     {
      if (worksheet1 != null)
      {
       Marshal.ReleaseComObject(worksheet1);
       worksheet1 = null;
      }
     }
    }

     

    2006年5月26日 9:28
  • 皆さんお返事有難うございました。無事解決いたしました。

    有難うございました。

    参考までに・・・

     http://f57.aaa.livedoor.jp/~jeanne/bbs/faq.cgi?mode=al2&namber=3958

    2006年5月26日 10:09