WordのテーブルをExcelに転記するツールを作成しています。
Excelに転記をした際に、おそらくテーブルの一枠毎に『・』より少し大きいぐらいの黒丸が現れました。
この黒丸が何なのかを教えていただきたいです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
WordのテーブルをExcelに転記するツールを作成しています。
その転記するコードを提示してください。
回答者が検証するにしても、一からコードを書くのは負担です。
いちおう一般的なコードを記述して検証してみました。
確かに、各セルの最後に黒丸が付加されました。
そこで、最後の2文字分の文字コードを調べるコードを追加しました。
vba
1Public Sub ImportWordTable() 2 Dim myWord As Object 'Word.Application 3 Dim myWordDoc As Object 'Word.Document 4 Dim docFilePath As String 5 Dim r As Long, c As Long 6 Dim s As String 7 8 Set myWord = CreateObject("Word.Application") 9 docFilePath = "C:\TEMP\テーブル.docx" 10 Set myWordDoc = myWord.Documents.Open(docFilePath) 11 12 With myWordDoc.Tables(1) 13 For r = 1 To .Rows.Count 14 For c = 1 To .Columns.Count 15 s = .Cell(r, c).Range.Text 16 Debug.Print Asc(Mid(s, Len(s) - 1, 1)); Asc(Mid(s, Len(s), 1)) 17 If s Like "*" & Chr(13) & Chr(7) Then s = Left(s, Len(s)-2) '制御コード(黒丸)削除 18 Cells(r, c).Value = s 19 Next 20 Next 21 End With 22 23 myWordDoc.Close 24 Set myWordDoc = Nothing 25 myWord.Quit 26 Set myWord = Nothing 27End Sub
結果、文字コード 13 と 7 が付加されていました。
下記によると、
13 は Carriage Return 行頭復帰
7 は Bell 警告音を鳴らす
だそうです。
行頭復帰 はなんとなくわかりますが、警告音を鳴らすコードが埋め込まれているのか、Wordの開発者に聞かないとわからないですね。
追記
Chr(13) & Chr(7) の制御コードを削除するコードを追加しました。
投稿2018/04/27 03:05
編集2018/04/27 04:48総合スコア33715
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/27 04:20
2018/04/27 04:23
0
不明な文字のデバッグは、その文字が本当は何であるかを確認するところから始まります。
見た目が[・][?] であっても、文字コードが[・][?]と同じとは限りません。
VBAで、ASC関数を使って文字コードが分かれば、
その文字コードでぐぐって調べると、
何の文字がExcelに出力されてるのかが分かります。
恐らく、Wordで使われている何らかの制御文字が、
Excelでは対応してないのだと推測されます。
投稿2018/04/26 01:35
総合スコア1175
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。