アプリ版:「スタンプのみでお礼する」機能のリリースについて

PPT ファイルの文字数をカウントしたいと思っています。
今のところ、ひたすら Ctrl+A でコピーして1シートずつ Word 文書に貼り付けてカウントしています・・・。
以前にこちらで、PPT ファイルの総文字数をカウントするマクロは紹介されていたのですが、全角文字数と半角文字数を区別してカウントすることって、できないのでしょうか?
ネットでもいろいろ調べてみたのですが、調べ方が悪いのか、さっぱり。。。
すみませんが、よろしくお願いします。

A 回答 (2件)

JCountなら、PPTファイルを全角文字と半角カタカナ、半角英数などの種類ごとにも文字数をカウントできます。

PPTだけでなく、DOC(ワード)、XLS(エクセル)ファイルも文字カウント可能です。本文だけでなく、上記全てのドキュメントでテキストボックスやオートシェイプ、その他オブジェクト内の文字のカウントが出来ます。
私はこのフリーソフトの作者です。私の知る限りそのようなフリーソフトが見つからなかったので作成しました。

参考URL:http://bgworks.info/jcount/,http://www.vector.co …
    • good
    • 1

全角と半角文字を区別してカウントするプログラムを作成してみました。


半角文字数には、スペースや改行などもカウントされます。
(カウントしない場合は、コードのチェック範囲を変えて下さい)

あと、パワーポイントでは、イミディエイトウィンドウで
? LENB("A")
としたら"2"になりますから、全てのテキストが2バイト文字に
なっているようです。そういう意味で言えば、全角も半角も無いわけですが
------------------------------------------------
Public Sub 種類別文字数カウント()
Dim cw, cb, i, j, code, p As Slide, s As Shape
cw = 0: cb = 0
For Each p In ActivePresentation.Slides
For i = 1 To p.Shapes.Count
Set s = p.Shapes.Item(i)
If s.HasTextFrame Then
For j = 1 To Len(s.TextFrame.TextRange.Text)
code = AscW(Mid(s.TextFrame.TextRange.Text, j, i))
If (0 <= code And code <= 255) Then
cb = cb + 1
Else
cw = cw + 1
End If
Next
End If
Next
Next
MsgBox "全角文字数:" & cw
MsgBox "半角文字数:" & cb
End Sub

Public Sub 全文字数カウント()
Dim c, i, p As Slide, s As Shape
c = 0
For Each p In ActivePresentation.Slides
For i = 1 To p.Shapes.Count
Set s = p.Shapes.Item(i)
If s.HasTextFrame Then
c = c + Len(s.TextFrame.TextRange.Text)
End If
Next
Next
MsgBox "全文字数:" & c
End Sub
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!