VSTO---excel编程 [待续] [12月5日更新,详见文档下面]

 

None.gif 最近比较闲了,考试也快要到了。但是编程技术方面还是不能掉啊.
None.gif
None.gif现在开始VSTO编程之旅了。这个话题是连Blog的。所以有兴趣的Blog之友,技术之士,可以匿名或者非匿名的评论,交流。
None.gif
None.gif对了,下面的代码都是本人写的,和积累的,每一个功能都是以Method的形式进行粘贴的,一般只有你懂的话,就可以直接调用的,当然一般都是从基础开始。
None.gif
None.gif如果想和本人进行交流的话,我的首页上有我的MSN。。。。
None.gif
None.gif正在话归正题
----
None.gif               VSTO[Excel]
None.gif
// 新建Sheet
None.gif
private   void  CreditSheet()
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
InBlock.gif     Excel.Workbook newWorkbook 
= this.Application.Workbooks.Add(missing);
ExpandedBlockEnd.gif}

None.gif
None.gif
// 打开Sheet
None.gif
private   void  OpenSheet()
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
InBlock.gif  
this.Application.Workbooks.Open(this.ImputFolderName.Text.ToString(), missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
ExpandedBlockEnd.gif}

None.gif
None.gif
// 连续在多个单元格中显示文字,并调整各自单元格的宽度
None.gif
private   void  AimatA1RangeUsingNameRange()
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            
//设定一个NamedRange
InBlock.gif
            NamedRange textInCell;
InBlock.gif            textInCell 
= this.Controls.AddNamedRange(this.get_Range("A8", missing), "EvaluateDemo");
InBlock.gif
InBlock.gif            
//重新规定 NameRange [A8-D8]
InBlock.gif
            textInCell.RefersTo = "=Sheet1!$A$8:$D$8";
InBlock.gif
InBlock.gif            
//evaluate
InBlock.gif
            textInCell.Value2 = "Hello world!";
InBlock.gif
InBlock.gif            
//自动调整单元格
InBlock.gif
            textInCell.Columns.AutoFit();
ExpandedBlockEnd.gif        }

None.gif
None.gif
** 此Value2 属性与 Value 属性的唯一区别在于,Value2 不是参数化属性。
None.gif
None.gif
private   void  FindMarthaInTheRange()
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            
this.Range["H1", missing].Value2 = "Martha jone ";
InBlock.gif
InBlock.gif            NamedRange auto_HR 
=
InBlock.gif                
this.Controls.AddNamedRange(this.Range["H2", missing],
InBlock.gif                
"auto_HR");
InBlock.gif
InBlock.gif            
//根据H1中的字符串自动从头查找并复制同样的值
InBlock.gif
            auto_HR.Value2 = auto_HR.AutoComplete("Ma");
InBlock.gif
InBlock.gif            
//自动调整单元格
InBlock.gif
            auto_HR.Columns.AutoFit();
ExpandedBlockEnd.gif        }

None.gif
None.gif
* 在这里Martha jone 不能任意查找,意思就是AutoComplete(参数值),只能从头匹配,不能任意匹配。
None.gif
None.gif
// 合并单元格
None.gif
private   void  MergeRange()
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
InBlock.gif    NamedRange rangeOne 
= this.Controls.AddNamedRange(this.Range["A12""D27"], "rangeOne");
InBlock.gif    rangeOne.Select();
InBlock.gif    rangeOne.Merge(
false);
ExpandedBlockEnd.gif}

None.gif
None.gif
// 设置Cells边框
None.gif
private   void  setBordersAndInterior()
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            
//第一种写法
InBlock.gif
            NamedRange bordersRange = this.Controls.AddNamedRange(this.Range["E12","F12"], "borderRange");
InBlock.gif            bordersRange.Borders.LineStyle 
= Excel.XlLineStyle.xlSlantDashDot;
InBlock.gif            
InBlock.gif            
//Set Color
InBlock.gif
            bordersRange.Interior.Color = 0xFF00;
InBlock.gif
InBlock.gif            
//第二种写法
InBlock.gif
            for (int i = 1; i <= 7; i++)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
base.Range[base.Cells[i, 7], base.Cells[i, 8]].Borders.LineStyle = i;    
ExpandedSubBlockEnd.gif            }
 
ExpandedBlockEnd.gif        }

None.gif
None.gif
ContractedBlock.gifExpandedBlockStart.gif
AutoCalculate #region AutoCalculate
InBlock.gif
//自动计算
InBlock.gif
private void NotifyChanges()
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif{
InBlock.gif    NamedRange changesRange 
= this.Controls.AddNamedRange(this.Range["G2""G8"], "compositeRange");
InBlock.gif    changesRange.Change 
+= new DocEvents_ChangeEventHandler(changesRange_Change);
ExpandedSubBlockEnd.gif}

InBlock.gif
InBlock.gif
private void changesRange_Change(Range Target)
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif{
InBlock.gif   NamedRange namedRange2 
=
InBlock.gif                
this.Controls.AddNamedRange(this.Range["G9", missing],
InBlock.gif                
"namedRange5");
InBlock.gif   
//设置公式   
InBlock.gif
   namedRange2.Formula = "=SUM(G2:G8)";
InBlock.gif   namedRange2.FormulaHidden 
= true;
InBlock.gif   
//计算
InBlock.gif
   namedRange2.Calculate();
ExpandedSubBlockEnd.gif}

InBlock.gif
InBlock.gif今天就到此吧。。。待续
InBlock.gif
ExpandedBlockEnd.gif
#endregion

None.gif 12月5日更新(快考试,要加油了)
None.gif
None.gif问题1:为什么在单元格中输入一个19位或者更多位的数字,显示时数字不会以16进制的形式显示,如:1111E
+ 9 。想实现“以文本形式显示数字”?
None.gif   答:只要设置一下此单元格NumberFormatLocal 
= " @ "  即可
None.gifex:
None.gif    
this .Range[ " A35 " , missing].NumberFormatLocal  =   " @ " ;
None.gif    
this .Range[ " A35 " , missing].Value2  =   " 111111111111111111111111111111111111111111”;
None.gif

None.gif问题2:想把当前活动窗口网格线去掉?            
None.gif   答:设置DisplayGridlines 为False即可。
this .Application.ActiveWindow.DisplayGridlines  =   false ;
None.gif
None.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值