找回密码
 加入
搜索
查看: 1869|回复: 5

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

[复制链接]
发表于 2018-4-6 00:00:09 | 显示全部楼层 |阅读模式
本帖最后由 cashiba 于 2018-4-6 22:25 编辑

#include <Excel.au3>
Local $avArray[6]
$avArray[0] = "JPM"
$avArray[1] = "Holger"
$avArray[2] = "Jon"
$avArray[3] = "Larry"
$avArray[4] = "Jeremy"
$avArray[5] = "Valik"
Local $oxls = ObjCreate("excel.application")
Local $str=$oxls.Join($avArray, ",")
MsgBox(0,"",$str)

以上写法运行示错....
要怎么写才能得到结果呢?

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

join函数和Transpose函数的主体不同?
发表于 2018-4-6 12:10:24 | 显示全部楼层
我个人的理解,join是vb里的内置函数,transpose是excel工作表函数,从excel里调用似乎找错了东家
如果仅是要合并数组内容,array.au3里有一个_arraytostring与join效果类似
 楼主| 发表于 2018-4-6 14:35:32 | 显示全部楼层
vb的内置函数,也就是vba的内置吧
好像有不少,如果能用AU3调用就好了,比较省事,凯文大侠是VB权威,说没办法估计那就真没办法了....
 楼主| 发表于 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里为什么不行呢?
发表于 2018-4-6 20:46:31 | 显示全部楼层
回复 4# cashiba
创建那个对象一般在vba里面是为了在没有窗体的情况下引用剪贴板功能,对于au3已经有现成的clipput和clipget了,也不需要了,如果说不能创建,估计是au3不支持那个new吧
 楼主| 发表于 2018-4-6 22:25:05 | 显示全部楼层
谢谢kevinch老师....
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-28 07:22 , Processed in 0.079547 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表