以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教大神引用EXCEL表格带公式代码修改  (http://foxtable.net/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
引用表格模板
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:????_??.xlsx




--  作者: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