cashiba 发表于 2018-4-6 00:00:09

excel的join函数怎么调用?[已解决]

本帖最后由 cashiba 于 2018-4-6 22:25 编辑

#include <Excel.au3>
Local $avArray
$avArray = "JPM"
$avArray = "Holger"
$avArray = "Jon"
$avArray = "Larry"
$avArray = "Jeremy"
$avArray = "Valik"
Local $oxls = ObjCreate("excel.application")
Local $str=$oxls.Join($avArray, ",")
MsgBox(0,"",$str)
以上写法运行示错....
要怎么写才能得到结果呢?

看_Excel_rangeRead函数里
$vResult = $oExcel.Transpose($vRange.Value)
转置函数可以运行

join函数和Transpose函数的主体不同?

kevinch 发表于 2018-4-6 12:10:24

我个人的理解,join是vb里的内置函数,transpose是excel工作表函数,从excel里调用似乎找错了东家
如果仅是要合并数组内容,array.au3里有一个_arraytostring与join效果类似

cashiba 发表于 2018-4-6 14:35:32

vb的内置函数,也就是vba的内置吧
好像有不少,如果能用AU3调用就好了,比较省事,凯文大侠是VB权威,说没办法估计那就真没办法了....
{:face (245):}

cashiba 发表于 2018-4-6 14:38:59

本帖最后由 cashiba 于 2018-4-6 14:44 编辑

顺便再问凯文老师一个问题:
Local $oDat = ObjCreate("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
If Not IsObj($oDat) Then Exit MsgBox(0,"","并非对象。")
$oDat.SetText($str)
如上,vba里有这样的声明对象方法,好像是代替如下声明DataObject对象的:
Dim oDat As New DataObject
AU3里为什么不行呢?

kevinch 发表于 2018-4-6 20:46:31

回复 4# cashiba
创建那个对象一般在vba里面是为了在没有窗体的情况下引用剪贴板功能,对于au3已经有现成的clipput和clipget了,也不需要了,如果说不能创建,估计是au3不支持那个new吧

cashiba 发表于 2018-4-6 22:25:05

谢谢kevinch老师....
{:face (88):}
页: [1]
查看完整版本: excel的join函数怎么调用?[已解决]