作者don750421 (1+1≠2)
看板C_Sharp
标题[问题] 删除多行Excel资料并另存新档
时间Fri Apr 27 21:30:02 2012
我想要写个程式让User修改Excel内档案,并另存成.prn档
在萤幕画面会让User输入开始的sheet(变数为intpasssheet)
还会让User输入要删除的行(变数为intclearline)
让User可以一次选取多个档案,而每个档案有很多个Sheet
每个sheet都不同名称,假设为SheetName、Age、Address、Phone、CellPhone
如果intpasssheet=2,则从第二个Sheet Age开始读取并修改内容
如果intclearline=10,则从第二个Sheet Age开始删除左边开始数10行(即A~J)
并且将修改完的Sheet另存为.prn档,档名如sheet name
Output档案为Age.prn、Address.prn、Phone.prn、CellPhone.prn...
因为使用者输入只会输入几行
并不会输入A.B.C.D....
请问我要如何一次删除多行呢?
以下是我目前写的Code
http://codepad.org/tQlg0Isj
顺便问一下,如果是2007的.xlsx是否就不能以我这个方式
做删除多行或另存档案的方式呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.47.28.213
1F:推 gundan:你用这个元件OFFICE版本应该是没有差 都可以用吧 04/28 00:06
2F:→ gundan:我之前用这个元件读写,2003 或 2007都可以 04/28 00:07
※ 编辑: don750421 来自: 114.47.28.213 (04/29 02:08)
3F:推 piadoro:Excel.Range delRng= wbkExcel.worksheets[intpasssheet]. 04/29 02:58
4F:→ piadoro:range["A1"]; 04/29 02:58
5F:→ piadoro:然後再用Excel.Range.Offset(x,y) 取得要删除的范围 04/29 03:00
6F:→ piadoro:最後抠 Delete or Clear 凭印象写的 技德是可以删除整行 04/29 03:05
7F:→ don750421:pia大,我懂你说的方法,好像也可以使用get_range 04/29 11:11
8F:→ don750421:然後再做delete的动作 04/29 11:12
9F:→ don750421:但是你这边提到的(x,y)x指的是行?a.b.c.d.e.f 04/29 11:13
10F:→ don750421:y指的是列1,2.3,4,5吗? 04/29 11:13
11F:→ don750421:但是使用者只输入行,也就是代入x,那Y要怎麽代入才能删 04/29 11:14
12F:→ don750421:除整行呢? 04/29 11:14
13F:→ don750421:麻烦指点^^ 04/29 11:15
14F:推 piadoro:delRng.Offset[x,0 or missing].EntireColumns.Delete(); 04/30 16:02