以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请教大神引用EXCEL表格带公式代码修改 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=107828) |
-- 作者:tingke -- 发布时间:2017/10/11 3:52:00 -- 请教大神引用EXCEL表格带公式代码修改 \'\'\'... Dim Book As New XLS.Book("E:\\onedrive\\Doosung\\EMAIL\\????_??.xlsx") Dim Sheet As XLS.Sheet = Book.Sheets(0) Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog dlg.Filter= "Excel文件|*.xlsx" \'设置筛选器 dlg.FileName = "????_??" & format(Date.today, "M?d?") & "(??)" & ".xlsx" If dlg.ShowDialog = DialogResult.Ok Then Book.Save(dlg.FileName) Dim App As New MSExcel.Application Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(dlg.FileName) Dim i,N As Integer N=Wb.WorkSheets.Count For i=1 To N Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(i) ws.UsedRange.Formula = ws.UsedRange.Formula Next wb.save wb.close App.Quit Dim Proc As New Process Proc.File = dlg.FileName Proc.Start() End If 看了论坛前辈帖子,代码不知道出现错误,提示 .NET Framework 版本:2.0.50727.8762 Foxtable 版本:2017.6.12.1 错误所在事件:窗口,email,广州,Click 详细错误信息: 异常来自 HRESULT:0x800A03EC 望前辈帮忙修改,万分感谢! 参考帖子地址 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=42596&skin=0 引用表格模板 |
-- 作者:tingke -- 发布时间:2017/10/11 3:53:00 -- 此主题相关图片如下:微信截图_20171011045221.png |
-- 作者:tingke -- 发布时间:2017/10/11 3:56:00 -- 如果直接引用那个Excel表格,出来后部分公式消失 |
-- 作者:有点甜 -- 发布时间:2017/10/11 8:47:00 -- 没看懂你 Book.Save(dlg.FileName) 要做什么,XLS.Book 打开你excel文件后,有可能导致公式丢失。
尽量使用 vba 打开excel文件。如果你是做的模板,无法实现你需要的功能。 |
-- 作者:tingke -- 发布时间:2017/10/11 19:15:00 -- 回复:(有点甜)没看懂你 Book.Save(dlg.FileName) 要... Book.Save(dlg.FileName)这句代码是保存依据那个Excel表格新建的一个表格。我上传了那个excel表格,只是想新建后表格内的公式不丢失 我依照这个大哥的例子修改的,但是显示错误 详细错误信息: 异常来自 HRESULT:0x800A03EC http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=42596&skin=0
[此贴子已经被作者于2017/10/11 19:19:48编辑过]
|
-- 作者:有点甜 -- 发布时间:2017/10/11 21:03:00 --
你直接拷贝文件就可以了啊 Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog dlg.Filter= "Excel文件|*.xlsx" \'设置筛选器 dlg.FileName = "abc.xlsx" If dlg.ShowDialog = DialogResult.Ok Then FileSys.CopyFile("C:\\Users\\dv rrxaI600 007\\Downloads\\aaa.xlsx", dlg.FileName, True) Dim App As New MSExcel.Application app.DisplayAlerts = False Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(dlg.FileName) Dim i,N As Integer N=Wb.WorkSheets.Count For i=1 To N Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(i) ws.UsedRange.Formula = ws.UsedRange.Formula Next app.visible = True End If |
-- 作者:tingke -- 发布时间:2017/10/11 21:19:00 -- 回复:(有点甜)你直接拷贝文件就可以了啊 ... 谢谢甜哥哥。新生成的文件保存到固定位置怎么写? |
-- 作者:有点甜 -- 发布时间:2017/10/11 22:37:00 -- 参考
http://www.foxtable.com/webhelp/scr/0342.htm
|