以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  显示编译器错误1025  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=182456)

--  作者:qq代人发帖
--  发布时间:2020/10/9 8:57:24
--  显示编译器错误1025

 请教:公式中运行1个输出文本的vba过程,不需要公式显示输出,怎么做?我把公式弄到vba里,运行报错
  sub writetxt(a)
    Open "d:\\1.txt" For Output As #1        
    Print #1, a
    Close #1    
  end sub

显示编译器错误1025
该代码在vb6里运行正常

或者更简单,新增函数
function writetxt(a)
    Open "d:\\1.txt" For Output As #1        
    Print #1, a  
    Close #1  

   writetxt=1  
  end function

然后在公式里引用:
  a:1;
  if 条件 则 bb:=writetxt("字符串")

 

字符串不行,我又编写了数值型的
Function get444(a)
   get444=a+1
end function
然后公式里:
  xx: get444(1);
输出显示0的横线,根本没输出,本应显示2的横线


--  作者:yukizzc
--  发布时间:2020/10/9 9:02:11
--  

自定义函数的添加方法:

可以通过两种方法添加自定义函数:

1、在公式编辑器界面中,鼠标在“函数”解释定义区单击右键,然后选择“添加自定义函数”。

2、在Visual Basic工程管理器中选择Function模块,进入Visual Basic编辑界面,然后选择“插入”菜单中的“过程”。

有关自定义函数的格式

每个自定义函数都会有一个Formula对象,即使没有参数的自定义函数也至少有这么一个对象参数存在。每次公式系统执行遇到自定义函数的时候,会不断的依次调用它,直至整个公式解释完毕。

注意:请不要试图在Function模块中直接添加自定义函数,因为这样系统不会承认他。