找回密码
 加入
搜索
查看: 4141|回复: 4

[AU3基础] [已解决]AU3如何直接写入Excel Macro宏函数内容并调用

[复制链接]
发表于 2013-9-16 12:03:42 | 显示全部楼层 |阅读模式
本帖最后由 mpf5566 于 2013-9-16 20:14 编辑

小弟请教各位大大,查遍AU3和网上的资料还是没有找到需要的内容,我的需求是下面这一段宏内容,有没有什么“笨”方法就把这一段直接写入当前打开的excel表格里面并启用,附件是示例的表。
Sub Macro1()
'
' Macro1 Macro
'

'

    Columns("A:A").Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlToLeft
    Columns("C:F").Select
    Selection.Delete Shift:=xlToLeft
    Columns("F:O").Select
    Selection.Delete Shift:=xlToLeft
    Columns("G:M").Select
    Selection.Delete Shift:=xlToLeft
    Columns("H:I").Select
    Selection.Delete Shift:=xlToLeft
    Columns("I:R").Select
    Selection.Delete Shift:=xlToLeft
     Cells.Select
    Cells.EntireColumn.AutoFit
      Columns("C:C").Select
    Selection.ColumnWidth = 22
   
    ActiveSheet.Range("$A$1:$H$10001").RemoveDuplicates Columns:=Array(4, 7), _
        Header:=xlYes
End Sub

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2013-9-16 14:36:04 | 显示全部楼层
#include<excel.au3>
$oexcel=ObjCreate("excel.application")
$oexcel.visible=True
$wb=$oexcel.workbooks.open(@ScriptDir&"\示例.xlsx")
For $ws In $wb.worksheets
        With $ws
                Sleep(100)
                .columns("A:A").delete
                Sleep(100)
                .columns("C:F").delete
                Sleep(100)
                .columns("F:O").delete
                Sleep(100)
                .columns("G:M").delete
                Sleep(100)
                .columns("H:I").delete
                Sleep(100)
                .columns("I:R").delete
                Sleep(100)
                .cells.entirecolumn.autofit
                Sleep(100)
                .columns("C:C").columnwidth=22
                Sleep(100)
                .range("A1:H10001").removeduplicates&"columns&:=Array(4,7),_header:=.xlyes";遇到的问题就是怎么样根据“日志时间”和“目标地址”去重复(EXCEL宏命令的原话是这样但是无法直接调用来使用)
        EndWith
Next
发表于 2013-9-16 19:05:19 | 显示全部楼层
dim $arr[2]=[4,7]
.range("a1:h10001").removeduplicates($arr,1)
这样试下
columns参数要是一个数组,用来表示需要去重复的内容在目标范围里的对应列序号,第二个参数表示是否含有标题行

评分

参与人数 1金钱 +10 收起 理由
mpf5566 + 10

查看全部评分

 楼主| 发表于 2013-9-16 20:09:25 | 显示全部楼层
回复 3# kevinch


  kevinch老师,你真是我救星,研究了一个下午。您VBA函数在AU3里面运用实在是厉害。能否请教一下VBA函数如果要转换到AU3里面,参考哪一些可以查询呢??
发表于 2013-9-16 21:04:37 | 显示全部楼层
最好是能看懂一些vb,比如知道array(4,7)是在vb里表示一个数组,另外就是常量用对应的值来代替,最好是懂得vba,可以随时在vbe编辑器里查询相关函数的参考内容
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-17 13:00 , Processed in 0.083086 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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