tegl 发表于 2015-1-29 08:04:34

[已解决]请问如何用Au3判断EXCEL工作表中是否存在云形标注

本帖最后由 tegl 于 2015-2-4 17:09 编辑

请问如何用Au3判断EXCEL工作表中是否存在云形标注,并获取标注中的内容(2015年),如图

kevinch 发表于 2015-1-29 20:49:09

$xls=ObjGet(@ScriptDir&"\1.xls")
If IsObj($xls) Then
        With $xls
                For $ws In .worksheets
                        If $ws.shapes.count>0 Then
                                For $sh In $ws.shapes
                                        If $sh.type=1 Then
                                                If $sh.autoshapetype=108 Then
                                                        ConsoleWrite($sh.parent.name&"!"&$sh.topleftcell.address&@tab&$sh.textframe2.textrange.text&@CRLF)
                                                EndIf
                                        EndIf
                                Next
                        EndIf
                Next
        EndWith
        $xls.close(False)
EndIf这个试下

tegl 发表于 2015-1-29 22:18:44

本帖最后由 tegl 于 2015-1-29 22:21 编辑

回复 2# kevinch

能获取到地址,但$sh.textframe2.textrange.text不起作用,即读不出标注的内容

tegl 发表于 2015-1-29 22:42:42

Sub Macro1()
'
' Macro1 Macro
' 宏由 China 录制,时间: 2015/1/29
'

'
    ActiveSheet.Shapes.AddShape(msoShapeCloudCallout, 342#, 262.5, 72.75, 21#) _
      .Select
    Selection.Characters.Text = "2015年"
    With Selection.Characters(Start:=1, Length:=4).Font
      .Name = "宋体"
      .FontStyle = "常规"
      .Size = 12
      .Strikethrough = False
      .Superscript = False
      .Subscript = False
      .OutlineFont = False
      .Shadow = False
      .Underline = xlUnderlineStyleNone
      .ColorIndex = xlAutomatic
    End With
End Sub
这是录制的宏,麻烦k大看看

kevinch 发表于 2015-1-30 06:42:23

我这边是正常取出来的,不知道楼主那里什么 情况

tegl 发表于 2015-1-30 07:54:40

得到的结果是
Sheet1!$G$1       
没有标注的内容

我的是win8.1 update3,autoit 3.3.12.0

kevinch 发表于 2015-1-31 06:09:22

我的也是win8.1 update3 64位, autoit 3.3.7.18,office 2013,感觉没太大差异啊

tegl 发表于 2015-1-31 18:35:52

是office版本的问题,我的是Office 2003,升级到office 2013后可以读取标注内容,但换回office 2003后仍然不行,估计是office 2003不支持.textframe2.textrange.text,请k大帮忙解决,万分感谢!

kevinch 发表于 2015-2-2 20:26:50

03用.textframe.characters.text试一下

tegl 发表于 2015-2-3 21:44:01

回复 9# kevinch

问题解决,Office 2003、2013均好用,非常感谢K大
页: [1]
查看完整版本: [已解决]请问如何用Au3判断EXCEL工作表中是否存在云形标注