VSTO for excel入门基础知识

  • 格式:docx
  • 大小:26.95 KB
  • 文档页数:7

常用语法

IF 语句

private void button11_Click(object sender, EventArgs e)

{

int i;

i = -25;//-2147483648 到 2147483647 ,有符号 32 位整数

if (i > 0)

{

MessageBox.Show(i + "是正数");

}

else if (i == 0)

{

MessageBox.Show(i + "是零");

}

else

{

MessageBox.Show(i + "是负数");

}

//更多分之使用Switch结构,类似select case

}

While语句

private void button12_Click(object sender, EventArgs e)

{

int i;

i = 0;

while (i < 10)//括号内条件成立,不断执行花括号内容

{

i = i + 1;

}

this.button14.Text = i.ToString();//

}

FOR语句

private void button13_Click(object sender, EventArgs e)

{

int i;

//;

int sum = 0;

for (i = 1; i <= 10; i++)//i++自加的意思 {

if (i <= 5)//if (i <=5) {break;}

{

sum = sum + i;

}

else

{

break;//跳出FORB不再执行。

}

}

this.button13.Text = sum.ToString();

}

FOR语句

private void button14_Click(object sender, EventArgs e)

{

//int i;这句声明变量,作用于整个单机过程

int sum = 0;

for (int i = 1; i <= 10; i++)//也可在FOR循环内部声明直接加变量int,只做用内部

{

if (i==6)//i等于6

{continue;}//当I=6跳过不加,到7的时候继续加,比55小于6

//严格区分break 和continue语句

{

sum = sum + i;

}

}

this.button13.Text = sum.ToString();

}

FOR Each 语句

private void button15_Click(object sender, EventArgs e)

{

int[] arr = { 2, 5, 7 };//声明数组。arr[0]=2 arr[1]=5 arr[2]=7

//方法1

//foreach (int b in arr)

//{

// MessageBox.Show(b.ToString());

//}

//方法2

for (int i = 0; i <= 2; i++) {

MessageBox.Show(arr[i].ToString());

}

}

文件对话框

private void button1_Click(object sender, EventArgs e)

{

this.openFileDialog1.ShowDialog();

this.textBox1.Text = this.openFileDialog1.FileName;

}

添加按钮

private void button2_Click(object sender, EventArgs e)

{

TextBox tx=new TextBox();

tx.Text = "自动添加文本框";

tx.BackColor = Color.Cyan;

tx.Left = 50;

tx.Top = 150;

this.Controls.Add(tx);

}

关闭窗体

private void button1_Click(object sender, EventArgs e)

{

this.Dispose();//关闭自己

}

定义变量

private void button10_Click(object sender, EventArgs e)

{

string s = "张三";

button14.Text = s;

}

窗体显示必须关闭

private void button8_Click(object sender, EventArgs e)

{

Form2 f2 = new Form2();//类模块创建对象

f2.ShowDialog();//Dialog必须关闭窗体2,才能编辑窗体1

} 显示或者隐藏控件

private void checkBox1_CheckedChanged(object sender, EventArgs e)

{

//if (this.checkBox1.Checked == true)

// {this.button8.Visible = true;

// }

//else

//{

// this.button8.Visible = false;

//}

this.button8.Visible = this.checkBox1.Checked;//等同于以上几句话

}

触发dataGridView的CellClick事件

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)

{

string no = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();

string name=dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString();

TextBox1.Text=name;

TextBox2.Text=no;

}

操作EXCEL对象

获取当前运行的EXCEL

using excel = Microsoft.Office.Interop.Excel;//用EXCEL代替了后面的一长串

excel._Application app;//定义app

private void button1_Click(object sender, EventArgs e)

{

//获取当前运行的EXCEL。本句可以优先放到窗体启动事件,也可以只放在点击事件

//app =

(excel._Application)System.Runtime.InteropServices.Marshal.GetActiveObject("excel.Application");//设置app等于当前运行的EXCEL。固定语句

MessageBox.Show(erName);//获取当前EXCEL的用户名

excel.Range rg;//声明range对象

rg = app.Range["a1:d10"];//定义rg的范围

//rg.Select();//选择rg的范围

rg.Interior.Color = Color.Blue;//更改rg的背景色

double d = app.ActiveCell.Value;

MessageBox.Show(d.ToString());

}

操作workbook对象 private void button2_Click(object sender, EventArgs e)

{

foreach (excel.Workbook wbk in app.Workbooks)//遍历所有打开工作簿,工作表方法类似