1

これは私の最初の投稿です。なぜパラになるのかわかりません。リストボックスに表示される書式記号。

テキストを単語テーブルに追加し、並べ替えてリストボックスに転送しました。テーブルでさまざまな selection.clearformatting メソッドを試しましたが、うまくいきませんでした。パラなしでリストボックスからテキストを取得する必要があります。記号とテキストの検索に使用します。以下の抜粋

ここに画像の説明を入力

Do Until n = nmax

With Documents("lb2doc")

    .Tables(1).Cell(i, 1).Range.Text = words(n)
    .Tables(1).Cell(i, 2).Range.Text = disctime(n)

    n = n + 1
    i = i + 1

End With

Loop

Dim imax As Long
imax = i

i = 1
'sort table
Documents("lb2doc").Tables(1).Columns(1).Select
Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend

Selection.Sort ExcludeHeader:=False, FieldNumber:="Column 2", _
    SortFieldType:=wdSortFieldNumeric, SortOrder:=wdSortOrderDescending, _
    FieldNumber2:="", SortFieldType2:=wdSortFieldAlphanumeric, SortOrder2:= _
    wdSortOrderAscending, FieldNumber3:="", SortFieldType3:= _
    wdSortFieldAlphanumeric, SortOrder3:=wdSortOrderAscending, Separator:= _
    wdSortSeparateByCommas, SortColumn:=False, CaseSensitive:=False, _
    LanguageID:=wdEnglishUS, SubFieldNumber:="Paragraphs", SubFieldNumber2:= _
    "Paragraphs", SubFieldNumber3:="Paragraphs"

Dim j As Long
j = 0

ListBox2.ColumnCount = 3
ListBox2.ColumnWidths = "0;60;20"

Do Until i = imax

ListBox2.AddItem
ListBox2.List(j, 1) = Documents("lb2doc").Tables(1).Cell(i, 1).Range.Text
ListBox2.List(j, 2) = Documents("lb2doc").Tables(1).Cell(i, 2).Range.Text

i = i + 1
j = j + 1

Loop
4

2 に答える 2

1

段落記号はキャリッジ リターン、CHR(13) であり、これは vb 定数 vbCr でもあります。これらを空白に置き換えて、2 つの挿入用に次のコードを挿入します。

ListBox2.List(j, 1) = Replace(Documents("lb2doc").Tables(1).Cell(i, 1).Range.Text, vbCr, "")

ツール>オプションメニューに移動し、表示セクションに段落記号を表示することを選択すると、表に段落記号を表示できることに注意してください。

于 2013-06-10T02:10:02.563 に答える
1

最初に提供された回答(これは私にとってはうまくいきません)の代わりに、開始点と終了点を設定してテキスト範囲を取得しようとすることができます。あなたDo... Loopは次のようになります:

'...your code here
Do Until i = imax
ListBox2.AddItem
With Documents("lb2doc").Tables(1)

    ListBox2.List(j, 1) = Documents("lb2doc").Range(.Cell(i, 1).Range.Start, _
                                            .Cell(i, 1).Range.End - 1)
    ListBox2.List(j, 2) = Documents("lb2doc").Range(.Cell(i, 2).Range.Start, _
                                            .Cell(i, 2).Range.End - 1)
End With
i = i + 1
j = j + 1

Loop
'...rest of your code here
于 2013-06-10T08:29:31.680 に答える