2

ワークシートを非表示にしたExcel2007ワークブックを作成しました。非表示になっていないワークシートが1つあり、各コマンドボタンに各ワークシート名が付いたコマンドボタンがあります。コマンドボタンをクリックすると、非表示のワークシートが表示され、フォーカスがそのワークシートに配置されます。以下のコードはこのエラーを返します:

非静的フィールド、メソッド、またはプロパティにはオブジェクト参照が必要です'Microsoft.Office.Tools.Excel.WorksheetBase.Visible get'

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml.Linq;
using Microsoft.Office.Tools.Excel;
using Microsoft.VisualStudio.Tools.Applications.Runtime;
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;

namespace TestProj
{
    public partial class Sheet17
    {
        private void Sheet17_Startup(object sender, System.EventArgs e)
        {
        }

        private void Sheet17_Shutdown(object sender, System.EventArgs e)
        {
        }

        #region VSTO Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InternalStartup()
        {
            this.button1.Click += new System.EventHandler(this.button1_Click);
            this.Startup += new System.EventHandler(this.Sheet17_Startup);
            this.Shutdown += new System.EventHandler(this.Sheet17_Shutdown);

        }

        #endregion

        private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            Sheet5 How = new Sheet5();
            How.Visible = Excel.XlSheetVisibility.xlSheetVisible;
        }

    }
}

誰かがこのエラーで私を助けてくれますか?

4

1 に答える 1

0

このように使用します。

Sheet5 mySheet = new Sheet5();
mySheet.Visible = Excel.XlSheetVisibility.xlSheetVisible; 

またはあなたのSheet5クラスを作りますstaticnon-staticこのクラスのインスタンスを作成せずにクラスにアクセスすることはできません。

から読んでくださいMSDN

于 2013-01-08T16:23:49.147 に答える