Foxtable(狐表)用户栏目专家坐堂 → Excel 返回自定义公式字符串


  共有2448人关注过本帖树形打印复制链接

主题:Excel 返回自定义公式字符串

帅哥哟,离线,有人找我吗?
nxhylczh
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:335 积分:2674 威望:0 精华:0 注册:2018/11/22 9:19:00
Excel 返回自定义公式字符串  发帖心情 Post By:2019/4/11 15:09:00 [显示全部帖子]

单元格值:   =年初数("1001","","","")+年初数("1003","","","")+年初数("1003","","","")
读入的公式变为  ='余额'(1001,,)+'余额'(1002,,)+'余额'(1005,,)
怎么操作还是要返回 =年初数("1001","","","")+年初数("1003","","","")+年初数("1003","","","")
这样就可以用公式计算器了

 回到顶部
帅哥哟,离线,有人找我吗?
nxhylczh
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:335 积分:2674 威望:0 精华:0 注册:2018/11/22 9:19:00
  发帖心情 Post By:2019/4/11 16:09:00 [显示全部帖子]

计算资产负债表


图片点击可在新窗口打开查看此主题相关图片如下:49`%`r49$pm@7@r3i%y)0pg.png
图片点击可在新窗口打开查看

打开这个Excel表后,我的想法是遍历工作表
Dim Book As New XLS.Book(vars("ReportFileName"))
Dim Sheet1 As XLS.Sheet = Book.Sheets(0)

For RowIndex As Integer=1 To sheet1.Rows.Count-1
    For ColIndex As Integer =0 To sheet1.Cols.Count-1
        If sheet1(Rowindex,ColIndex).Formula<> "" Then
            msgbox(sheet1(Rowindex,ColIndex).Formula)         '如果是公式
            sheet1(Rowindex,ColIndex).Value=Computer2(sheet1(Rowindex,ColIndex).Formula)  '调用公式计算器进行计算
    '希望传的参数为 =年初数("1001","","","")+年初数("1003","","","")+年初数("1003","","","")
     '但是现在传入的参数是 '年初数'(1001,,,)+'年初数'(1003,,,)+'年初数'(1003,,,)  Excel把我需要的引号去掉了
        End If
    Next
Next
自定义函数的格式 Public Function 年初数(ByVal kmbm As String, Optional ByVal iYear As String, Optional subType As String, Optional SubItem As String) As String


 回到顶部
帅哥哟,离线,有人找我吗?
nxhylczh
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:335 积分:2674 威望:0 精华:0 注册:2018/11/22 9:19:00
  发帖心情 Post By:2019/4/11 16:14:00 [显示全部帖子]

图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
nxhylczh
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:335 积分:2674 威望:0 精华:0 注册:2018/11/22 9:19:00
  发帖心情 Post By:2019/4/11 16:15:00 [显示全部帖子]

图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
nxhylczh
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:335 积分:2674 威望:0 精华:0 注册:2018/11/22 9:19:00
  发帖心情 Post By:2019/4/11 16:56:00 [显示全部帖子]

鼠标一直转圈  
窗口还不能关闭了

 回到顶部
帅哥哟,离线,有人找我吗?
nxhylczh
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:335 积分:2674 威望:0 精华:0 注册:2018/11/22 9:19:00
  发帖心情 Post By:2019/4/11 17:51:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:资产负债表.xls


 回到顶部
帅哥哟,离线,有人找我吗?
nxhylczh
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:335 积分:2674 威望:0 精华:0 注册:2018/11/22 9:19:00
  发帖心情 Post By:2019/4/11 19:37:00 [显示全部帖子]

会显示一个保存文件的对话框,有时候还不显示在前端,感觉像死机了一样!

 回到顶部
帅哥哟,离线,有人找我吗?
nxhylczh
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:335 积分:2674 威望:0 精华:0 注册:2018/11/22 9:19:00
  发帖心情 Post By:2019/4/11 20:27:00 [显示全部帖子]

Dim web As Windows.Forms.WebBrowser
web = e.Form.Controls("WebBrowser1").baseControl
AddHandler web.DocumentCompleted,AddressOf WebBrowser1_DocumentCompleted
o D o c u m e n t = Nothing
o A p p  l i  c a t i on = Nothing

Dim sql As String="s e l e c t fileName From {B01} where 账套id='" & vars("mdbid") & "' and 报表名称='" & vars("报表名称") &"'"
Dim Fi le Na me As String =Functions.Execute("E xecuteS calar",sql)

If filesys.FileExists(FileName)=True Then
    FileSys.CopyFile(FileName, ProjectPath  & "报表\" & FileSys.GetName(FileName),True)
    Dim wbr As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")
    If oDocument IsNot Nothing
        oDocument.Saved = True
        oDocument.save
    End If
    vars("ReportFileName")=ProjectPath  & "报表\" & FileSys.GetName(FileName)
    '计算报表
    Dim App As New MSExcel.Application
    Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(vars("ReportFileName"))
    Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1) '指定工作表
    For RowIndex As Integer=1 To ws.usedrange.rows.Count-1
        For ColIndex As Integer =1 To ws.usedrange.columns.Count-1
            If ws.cells(Rowindex,ColIndex).Formula.startswith("=") Then
                msgbox(ws.cells(Rowindex,ColIndex).Formula)         '如果是公式
                Dim s As Double =Computer2(ws.cells(Rowindex,ColIndex).Formula)  '调用公式计算器进行计算
                ws.cells(Rowindex,ColIndex).Value=s
            End If
        Next
    Next
    app.Quit
    web.Navigate(Project Path  & "报表\" & F i  l e S  y s. G e t N a m e(F i l e N a m e))
End If

第一次弹出 是否保存修改,值是肯定修改了,我想直接保存,然后再打开.
第二资弹出 是否下载 资产负债表 点打开后 

我是思路是  从\报表模板目录下复制资产负债表,然后保存在\报表\目录下.计算报表,然后打开报表到Web Browser

 回到顶部
帅哥哟,离线,有人找我吗?
nxhylczh
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:335 积分:2674 威望:0 精华:0 注册:2018/11/22 9:19:00
  发帖心情 Post By:2019/4/11 20:28:00 [显示全部帖子]

Dim web As Windows.Forms.WebBrowser
web = e.Form.Controls("WebBrowser1").baseControl
AddHandler web.DocumentCompleted,AddressOf WebBrowser1_DocumentCompleted
oDocument = Nothing
oApplication = Nothing

Dim sql As String="s e l e c t fileName From {B01} where 账套id='" & vars("mdbid") & "' and 报表名称='" & vars("报表名称") &"'"
Dim FileName As String =Functions.Execute("ExecuteScalar",sql)

If filesys.FileExists(FileName)=True Then
    FileSys.CopyFile(FileName, ProjectPath  & "报表\" & FileSys.GetName(FileName),True)
    Dim wbr As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")
    If oDocument IsNot Nothing
        oDocument.Saved = True
        oDocument.save
    End If
    vars("ReportFileName")=ProjectPath  & "报表\" & FileSys.GetName(FileName)
    '计算报表
    Dim App As New MSExcel.Application
    Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(vars("ReportFileName"))
    Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1) '指定工作表
    For RowIndex As Integer=1 To ws.usedrange.rows.Count-1
        For ColIndex As Integer =1 To ws.usedrange.columns.Count-1
            If ws.cells(Rowindex,ColIndex).Formula.startswith("=") Then
                msgbox(ws.cells(Rowindex,ColIndex).Formula)         '如果是公式
                Dim s As Double =Computer2(ws.cells(Rowindex,ColIndex).Formula)  '调用公式计算器进行计算
                ws.cells(Rowindex,ColIndex).Value=s
            End If
        Next
    Next
    app.Quit
    web.Navigate(ProjectPath  & "报表\" & FileSys.GetName(FileName))
End If

第一次弹出 是否保存修改,值是肯定修改了,我想直接保存,然后再打开.
第二资弹出 是否下载 资产负债表 点打开后 

我是思路是  从\报表模板目录下复制资产负债表,然后保存在\报表\目录下.计算报表,然后打开报表到WebBrowser

 回到顶部
帅哥哟,离线,有人找我吗?
nxhylczh
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:335 积分:2674 威望:0 精华:0 注册:2018/11/22 9:19:00
  发帖心情 Post By:2019/4/11 21:25:00 [显示全部帖子]

两个问题
  一是提示下载文件 是否打开
  二是 修改数据后,提示要保存,如果点保存,提示文件只读!

刚发了一段 怎么没有了呢?

 回到顶部
总数 11 1 2 下一页