[已解决]请问如何用Au3判断EXCEL工作表中是否存在云形标注
本帖最后由 tegl 于 2015-2-4 17:09 编辑请问如何用Au3判断EXCEL工作表中是否存在云形标注,并获取标注中的内容(2015年),如图
$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:21 编辑
回复 2# kevinch
能获取到地址,但$sh.textframe2.textrange.text不起作用,即读不出标注的内容 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大看看 我这边是正常取出来的,不知道楼主那里什么 情况 得到的结果是
Sheet1!$G$1
没有标注的内容
我的是win8.1 update3,autoit 3.3.12.0 我的也是win8.1 update3 64位, autoit 3.3.7.18,office 2013,感觉没太大差异啊 是office版本的问题,我的是Office 2003,升级到office 2013后可以读取标注内容,但换回office 2003后仍然不行,估计是office 2003不支持.textframe2.textrange.text,请k大帮忙解决,万分感谢! 03用.textframe.characters.text试一下 回复 9# kevinch
问题解决,Office 2003、2013均好用,非常感谢K大
页:
[1]