mpf5566 发表于 2013-9-16 12:03:42

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

本帖最后由 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
{:face (394):}

mpf5566 发表于 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

kevinch 发表于 2013-9-16 19:05:19

dim $arr=
.range("a1:h10001").removeduplicates($arr,1)这样试下
columns参数要是一个数组,用来表示需要去重复的内容在目标范围里的对应列序号,第二个参数表示是否含有标题行

mpf5566 发表于 2013-9-16 20:09:25

回复 3# kevinch


kevinch老师,你真是我救星,研究了一个下午。您VBA函数在AU3里面运用实在是厉害。能否请教一下VBA函数如果要转换到AU3里面,参考哪一些可以查询呢??

kevinch 发表于 2013-9-16 21:04:37

最好是能看懂一些vb,比如知道array(4,7)是在vb里表示一个数组,另外就是常量用对应的值来代替,最好是懂得vba,可以随时在vbe编辑器里查询相关函数的参考内容
页: [1]
查看完整版本: [已解决]AU3如何直接写入Excel Macro宏函数内容并调用