当前位置:编程学习 > C#/ASP.NET >>

excel有三个sheet,我如何让 sheet(2) active。

谢谢。 --------------------编程问答--------------------
foreach(Excel.Worksheet st in Application.Sheets)
{
        if (st.Name == "sheet2")
        {
              st.Select(); //这句是激活
          }
}
--------------------编程问答-------------------- 我的代码是这样:
oldmysheet = (Excel.Worksheet)mybook.Sheets.get_Item(1);  
oldmysheet.Select();    

但现在还报错,说select方法没有采用0个方法重载。是 select()需要传参数吗?

还有我看到有activate(),这个方法是干嘛的。这个如何使用
--------------------编程问答-------------------- 可是直接使用sheets.GetName(_T("sheet2")).Activate(); --------------------编程问答-------------------- 你什么版本的?
我的不需要传参,默认参数是System.Reflection.Missing.Value,要不你传这个参数进去看看 --------------------编程问答-------------------- 能写全吗,我按你写的报错。

引用 3 楼  的回复:
可是直接使用sheets.GetName(_T("sheet2")).Activate();
--------------------编程问答--------------------
引用 5 楼  的回复:
能写全吗,我按你写的报错。


引用 3 楼 的回复:

可是直接使用sheets.GetName(_T("sheet2")).Activate();

最后的右括号是全角的,不会是这个错吧。 --------------------编程问答-------------------- 提示我 getname不存在。
我是using Excel=Microsoft.Office.Interop.Excel;

是不是我哪个引用没加入。 --------------------编程问答-------------------- 2008team版本
引用 4 楼  的回复:
你什么版本的?
我的不需要传参,默认参数是System.Reflection.Missing.Value,要不你传这个参数进去看看
--------------------编程问答-------------------- 你在添加引用的COM里面引用Excel --------------------编程问答-------------------- 成功了,我传入 Type.missing就成功了。
还有个问题
我仿照你的代码,做了下修改
foreach(oldmysheet in Application.Sheets)
{
        if (oldmysheet.Name == "sheet2")
        {
              oldmysheet.Select(Type.missing);           }
}
系统在第一句话 oldmysheet in Application.Sheets中oldmyshet标红线,说“找不到类型和命名空间”

但我明明现有 using Excel=Microsoft.Office.Interop.Excel;
然后在 Excel.Worksheet oldmysheet=null;

干嘛还这样提示。

引用 8 楼  的回复:
2008team版本
引用 4 楼  的回复:

你什么版本的?
我的不需要传参,默认参数是System.Reflection.Missing.Value,要不你传这个参数进去看看
--------------------编程问答-------------------- upup
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,