シートのセルの文字カウントの時に使うマクロ
UsedRangeでさらにSpecialCellsを使ってLen
シートごとループして使う。
きっともっといいやり方はある。
Dim rg as Range
Dim buf as LongFor Each rg In ActeveSheet.UsedRange.SpecialCells(xlCellTypeConstants,xlNumbers + xlTextValues)
’後は適当
buf = buf + Len(rg.Value)Next
これは数式のぞいてる。
オブジェクトの文字数も欲しいならシェイプをぐるぐる回して文字とる。
Wordならプロパティで一発。
Wordのプロパティを参照するマクロ
Dim wd,doc
Set wd = CreateObject("Word.Application")
Set doc = wd.Documents.Open(パス, ReadOnly:=True)MsgBox doc.BuiltinDocumentProperties(16) '文字数
doc.Close SaveChanges:=False
Wordで開くと、オブジェクトの文字含むか含まないか選べるけど、
BuiltinDocumentProperties(16)だと、すでにオブジェクトの文字は含まれてる。
なんかオプションとかいるのかな。
調べてない。