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

質問が解決しなかったので、下記スレッドから移動してきました。
下記スレッドは、マルチリスティングにならないように締め切ります。
http://oshiete1.goo.ne.jp/qa3642672.html

以下の質問の回答がお分かりの方、おられましたら教えて下さい。
Wordの表の文字数カウントの方法に対する質問です。

質問1
Exelで作成した表をコピーペーストでWordで作成した文章の一部に貼り付けた場合(または、Wordで表を作成した場合)、その表の文字数(その表の全ての文字数)のみ(Wordの表部分以外の文字数は除く)をカウントする場合、どのようにするのですか?文字数を数えたい表全体をマウスでハイライトして、メニューの[ツール]→[文字カウント]で確認しましたが、文章内の全ての文字数をカウントしてしまいます。

質問2
Exelで作成した表をコピーペーストでWordで作成した文章の一部に貼り付けた表において(または、Wordで作成した表おいて)、その表の一部のセルの文字数(その表の全ての文字数ではなく)をカウントすることができません。どのようにすれば、カウントできるのでしょうか?

例えば、エクセルで以下のような表を作成するとします。
A1:あいうえお
A2:さしすせそ
A3:なにぬねの
A4:
B1:かきくけこ
B2:たちつてと
B3:
B4:
この表をWordで作成した文章に貼り付けます。
そして、表の
A1:あいうえお
A2:さしすせそ
B1:かきくけこ
B2:たちつてと
の部分のみをマウスでハイライトしてメニューの[ツール]→[文字カウント]で確認しましたが、Wordの文章内の全ての文字数(表内の文字数を含む)をカウントしてしまいます。

よろしくお願いします。

A 回答 (11件中1~10件)

お礼のメールが来たので確認してみると、私の回答内容において不十分


な部分があったことをお詫びします。

行単位での選択する([行末記号]を含む場合)場合ですが、私は表の左端
罫線の外側にカーソルを持っていくと白い斜め矢印が表示されます。
これは、本文での行を選択するときにも余白に持っていくと表示される
ものと同じです。
http://www.shuiren.org/chuden/teach/word/gamen/s …
この形のカーソルで行単位で選択すると、[文字カウント]は正常になり
ますが、ドラッグしながらセル単位で移動して行を選択した場合では、
[セルの終了記号]を含むセル単位での選択状態と同じようです。

私はセル単位でも行単位でもドラッグでの選択はせず、カーソルの形を
白い矢印や黒い矢印に変形して選択していますので、検証されたことと
違っているのでしょうね。文字単位ならばドラッグしても良いのですが
セル単位や行単位なら、カーソルの形が変化してからクリックしたほう
が確実ですし簡単です。(こちら↓の表の選択が参考になります)
http://hamachan.fun.cx/word/hyo.html

この方法ならば、確実に文字カウントに範囲を選択できますので参考に
してください。前回の回答において、このことを説明していなかった為
に、解りにくい説明になったこと再度お詫びします。
    • good
    • 1
この回答へのお礼

enunokokoroさん
ご回答ありがとうございました。

enunokokoroさんの方法でできました。 
詳しいご説明感謝します。

お礼日時:2008/01/07 13:47

1. 文字カウント機能のあるテキストエディタにコピペするとか。


2. マクロを使うとか。大げさすぎるかもしれませんが。

下記のコードを Normat.dot に登録して、呼び出し易いようにショートカット
キーを割り当てるのはどうですか?
選択して反転表示されている範囲の文字数をカウントします。

Excel オブジェクトなどの OLE オブジェクトとして挿入されているものは、
カウントできません。これは、Word の文字数カウントと同じです。
通常の表組みであれば、複合表でも大丈夫だと思います。

ご参考までに。

 # 一応 Word VBA です

' // 標準モジュール -------------------------------------------------
Private Declare Function OpenClipboard Lib "user32.dll" ( _
    ByVal hwnd As Long) As Long
Private Declare Function CloseClipboard Lib "user32.dll" () As Long
Private Declare Function EmptyClipboard Lib "user32.dll" () As Long
Private Declare Function GetClipboardData Lib "user32.dll" ( _
    ByVal wFormat As Long) As Long
Private Declare Function GlobalLock Lib "kernel32.dll" ( _
    ByVal hMem As Long) As Long
Private Declare Function GlobalUnlock Lib "kernel32.dll" ( _
    ByVal hMem As Long) As Long
Private Declare Function GlobalSize Lib "kernel32.dll" ( _
    ByVal hMem As Long) As Long
Private Declare Function lstrcpy Lib "kernel32.dll" Alias "lstrcpyA" ( _
    ByVal lpString1 As String, _
    ByVal lpString2 As Long) As Long

Private Const CF_TEXT As Long = 1

Sub 選択範囲内の文字数カウント()

  Dim hDat  As Long
  Dim hMem  As Long
  Dim sBuf  As String
  Dim sMes  As String

  ' // 選択範囲をコピーし、クリップボードからテキストとして取り出す
  If Selection Is Nothing Then Exit Sub
  Selection.Copy
  sBuf = ""
  If OpenClipboard(0&) <> 0 Then
    hDat = GetClipboardData(CF_TEXT)
    Call CloseClipboard
    If hDat <> 0 Then
      hMem = GlobalLock(hDat)
      If hMem <> 0 Then
        sBuf = String$(GlobalSize(hMem), vbNullChar)
        Call lstrcpy(sBuf, hMem)
        Call GlobalUnlock(hMem)
        sBuf = Replace$(sBuf, vbNullChar, "")
      End If
    End If
    Call EmptyClipboard
  End If

  ' // 制御コード除去
  sBuf = Replace$(sBuf, vbTab, "")
  sBuf = Replace$(sBuf, vbLf, vbCr)
  sBuf = Replace$(sBuf, vbCr, "")

  ' // 文字数をカウントし結果表示
  sMes = "・文字数(スペースを含める)" & vbTab & CStr(Len(sBuf))
  sBuf = Replace$(sBuf, " ", "", Compare:=vbTextCompare)
  sMes = sMes & vbLf & _
      "・文字数(スペースを含めない)" & vbTab & CStr(Len(sBuf))

  MsgBox sMes, vbInformation, "(・∀・)ノ 選択された文字数"

End Sub
    • good
    • 0
この回答へのお礼

KenKen_SPさん
ご回答ありがとうございました。

VBAは良く分からないのですが、参考にさせて頂きます。

お礼日時:2008/01/07 13:59

技術的な問題でなく、時々そういう特殊な範囲の文字数を確認したいと言うだけなら・・・


選択状態でコピーして、新規のWord文章に貼り付けて文字数カウントするのが、一番手っ取り早いような気がします。
    • good
    • 0
この回答へのお礼

fumufumu_2006さん
ご回答ありがとうございました。

今回は、表のままカウントすることが必要でした。

お礼日時:2008/01/07 13:57

既出回答を読むだけでも大変で、理解できてないですが、


操作では不可能ではないですか。
であればプログラムでやるより他ない。
しかしワードVBAは独学で勉強が難しいと思います。
ない知恵をはたいて下記をやってみました。
ーー
ワードにエクセルのコピー範囲と同じn行m列の罫線ー挿入ー表で表を用意します。エクセルのセル範囲をコピーし、上記ワードの表全体を範囲指定し。形式を選択して張り付けーテキストで貼り付けます。
ワードVBEの画面に下記を張り付けます。
Sub test17()
t = 0
n = ActiveDocument.Tables(1).Range.Cells.Count
MsgBox n
For i = 1 To n
s = ActiveDocument.Tables(1).Range.Cells(i)
MsgBox s
MsgBox Len(s)
t = t + Len(s) - 2
Next i
MsgBox t
End Sub
ーー
実行すると文字数合計を表示します。
以下ワードの文書です。変な例ですみません。
ーー
大きな池があります
(以下が3x3の表)

12asd奈良市
今日は晴れですdfgh12345
奈良公園

(表終わり)

東京駅のすぐそば
ーー
28と出ました。最初と最後の、地の文章の文字数は含まれておりません。
ーー
欠点は
(1)表の張り付け方法に注文が付いている
エクセルー>ワードの貼り付けは色々あるが、質問者はあいまいにしたままのように思うが。
(2)複数表がある場合はどうするか(多分表の数だけ繰り返しのコードを追加すればよいと思うが)
など課題はあると思いますが、参考までに挙げます。
ーー
上記コードでMsgbox は確認のため多用してますが、納得した後は
最後のものを除き削除してください。
===
>下記スレッドから移動してきました
最終は提携先の元締めOKWAVEに行き着くと思うので、登録して質問の配信を受けて、質問を見ている人は同じと思いますが、間違っていますかね。
何回質問しても、質問内容によっては(難しければ)必ず答えが返ってくるとは限りませんよ。
この質問コーナーを例えばエクセルだけでも、できるだけ答えようとすると、毎日ほぼ1日つぶれます。その質問について詳しい世の中の人が見ていると思うのは幻想です。また若い方がそんなことで時間をつぶしていたら、もったいないです。
ある程度のところで、満足な回答が出なくても、あきらめる問題もあると思います。
    • good
    • 0
この回答へのお礼

imogasiさん
ご回答ありがとうございました。

VBAは良く分からないのですが、参考にさせて頂きます。

お礼日時:2008/01/07 13:56

問1の回答


表の中にポインタを持っていくと左上に十字の印がでますのでそれをクリックすると表全体が選択されます
その状態でツールより文字カウントを選択

問2の回答
表内の一部をカウントする場合・・・
例えば「あいうえお」と「たちつてと」をカウントする場合
まず、「あいうえお」をドラッグ、次に「Ctrl」キーを押しながら「たちつてと」をドラッグ
「ツール」から「文字カウント」を選択でカウントされます

只単に「あいうえお」「さしすせそ」「かきくけこ」「たちつてと」をそのまま反転表示させても文字カウントは文章全体をカウントします

ワード、エクセルともに2003ですが確認済みです
お試しあれ
    • good
    • 0
この回答へのお礼

esupuressoさん
ご回答ありがとうございました。

上記の件、了解しました。

お礼日時:2008/01/07 13:52

ANo.6の補足回答


カーソルの形以外で行単位での選択をするのならば、メニューの[罫線]
→[選択]→[行]でも良いでしょうね。

この場合は選択したい行に文字カーソル( I のようなもの)が点滅して
いるなら、その行を選択してくれます。ただし複数行を選択する場合は
セル単位で列で選択しておかないと上記手順では選択できません。
これはキーボードだけでの選択する方法として有効なものですね。

なお、Word2002からできるようになった離れた行を選択したい場合では
使えない方法ですから、やはりマウスなどでカーソルから操作する方法
が簡単だと思います。

それから表全体を選択する場合には、表の左上の[表の移動ハンドル]か
右下の[表のサイズ変更ハンドル]をクリックすることで、表全体を選択
できますのでこの方法で選択するか、[罫線]メニューの[選択]から[表]
を選択するなどで対応してください。
    • good
    • 0
この回答へのお礼

enunokokoroさん
ご回答ありがとうございました。

現在は、ANo.6の方法で十分用が足りている状態です。
必要に応じて上記方法も検討させていただきます。

お礼日時:2008/01/07 13:50

前の質問では補足をされたのですね。

出来るだけ補足が付いていないか
を確認をしていましたが、早く締め切ったのでしょうか?

さて、表における[文字カウント]についてですが、[セルの終了記号]を
選択してカウントした場合、質問にある全体のカウントになります。

表における編集記号についてはこちら↓
http://office.microsoft.com/ja-jp/word/HP0525711 …

[行末記号]を含める行単位であれば[文字カウント]は有効になります。
しかし列単位やセル全体での選択をした場合、カウントする文字を選択
していないのと同じことになるために文書全体になります。このことを
理解するために、表以外でも文字を選択しないで[文字カウント]をして
ください。そうすれば文字カウントがされるための条件を理解できると
思います。

つまり、[文字カウント]の範囲選択が有効になるのは以下の条件になる
ことを理解しておけば、カウントをするときの設定方法が理解できると
思います。

条件1 文字列のみを選択している場合
これは、[段落記号]を含まない(表における[セルの終了記号]を含む)で
文字列だけを選択している場合、その文字列だけをカウントします。
セル内でも[セルの終了記号]を含まずにセル内の文字列だけを[ Ctrl ]
キーで選択しても対象になります(Word2002以降で有効なもの)。

条件2 表における[行末記号]を含む場合
表における行末記号は、本文の段落記号と同じ意味をなすようですので
これを含めた行単位での選択した場合では、選択範囲だけのカウントを
します。ただし、複数列でできた表において、左の列を含まずにセルを
選択したときの[行末記号]を含んでも、行単位ではないために選択範囲
がセル全体と同じになるようです。この条件の違いについて理解しては
いないので経験上(検証した結果)としての回答です。
これは、表全体を選択したときの条件と同じことでもあります。

条件3 段落記号を含む編集記号を選択した場合
これは、条件1の文字列と同じですが[文字カウント]において[段落数]
もカウントします。

これらの条件を理解して、文字単位か、行末記号を含む行単位か、それ
を[ Ctrl ]キーで複数選択してから[文字カウント]をしてください。

この回答への補足

enunokokoroさん
ご回答ありがとうございました。

検証してみます。少しお時間ください。

補足日時:2008/01/04 22:23
    • good
    • 0
この回答へのお礼

enunokokoroさん

>[行末記号]を含める行単位であれば[文字カウント]は有効になりま
>す。
上記の件検証しましたが、表の[行末記号]を含める行単位で選択しても(左の列を含む)Word全体の文章の文字数がカウントされてしまいます(何も選択していないのと同じ状態)。enunokokoroさんは行末記号を含む行単位の文字数のカウントをどのように実行されて有効だったのでしょうか?

>セル内でも[セルの終了記号]を含まずにセル内の文字列だけを[ >Ctrl ]キーで選択しても対象になります(Word2002以降で有効なも
>の)。
上記に関しては、enunokokoroさんのおっしゃるとおり選択範囲の文字のカウントのみ有効でした。

よろしくお願いします。

お礼日時:2008/01/04 23:24

ANo.1です。



すみません、
>表内では、単一のセルの選択では正しく表示するけれど、複数セルを選択すると全文字数を表示するようです。
は、間違いで、単一セルでもNGでした。

wordの表で、セル内の文字だけを選択するのならOKでした。
表の上下の行を含めて選択した場合もOKでした。

いろいろ比べてみると、
wordの表の右側にある改行マークを含めた選択状態ならOKみたいです。

ちなみに、word2007でも同様みたいです。

この回答への補足

fumufumu_2006
ご回答ありがとうございました。

検証してみます。

補足日時:2008/01/04 22:22
    • good
    • 0

No2ですが、間違えがありました。



WordじゃなくてExcelです。

すみません。質問文に惑わされてしまいました(笑)

この回答への補足

terulanさん
ご回答ありがとうございました。

了解しました。

補足日時:2008/01/04 22:21
    • good
    • 0

Word2007使用者です。

Word2002(SP3)でも一応利用確認しました。

ここではA1:B5のセル範囲に文字列があるとします。

そしてどこか任意のセルに次のように入力します。

=SUM(LEN(A1:B5))
---*ここが重要です*---
入力し終わったら普通にEnterキーを押すのではなく、CtrlとShiftを押しながらEnterキーを押します(配列数式に関係します)
------

ちなみにスペース(空白)も文字数に含まれているので注意してください。スペースを数えずに文字数をカウントする方法もありますが、とても面倒な数式になるので今回は省きます。

この回答への補足

terulanさん
ご回答ありがとうございました。

上記の回答は、WordではなくExcelの場合ですね。

補足日時:2008/01/04 22:15
    • good
    • 0

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