2016-12-05 6 views
0

一般的にVBAに精通していないか、Rangeで作業していません。私はテキストの行の後にチェックボックスを追加したいが、次のコードはドキュメントの最後にすべてのチェックボックスを出力する。私はチェックボックスを設定する範囲パラメータは固定する必要があると思うだろうが、私はそれを識別する方法を知らない。問題は、チェックボックスが文書の末尾に追加されることはないが、それは(文書の末尾と同じである)現在の選択/挿入ポイントの後に追加だとWord-VBA:チェックボックスの範囲

'http://wordribbon.tips.net/T010727_Inserting_Multiple_Graphics_in_a_Document.html 
Sub GenerateLab() 
Dim sPic As String 
Dim sPath As String 

sPath = "C:\Users\lab\Documents\PDF Gen 12-1\TestImages\" 
sPic = Dir(sPath & "*.png") 

Do While sPic <> "" 
    Selection.TypeText ("Is this an ***?") 
    Selection.TypeParagraph 
    Selection.TypeText ("***") 
    Dim objCC As ContentControl 
    Set objCC = ActiveDocument.ContentControls _ 
     .Add(wdContentControlCheckBox) 
    Selection.TypeParagraph 
    Selection.TypeText ("Not ***") 
    Dim objCC2 As ContentControl 
    Set objCC2 = ActiveDocument.ContentControls _ 
     .Add(wdContentControlCheckBox) 
    Selection.InlineShapes.AddPicture _ 
     FileName:=sPath & sPic, _ 
     LinkToFile:=False, SaveWithDocument:=True 
    sPic = Dir 
    Selection.InsertBreak (7) 
Loop 
End Sub 

答えて

0

。それ以外のものはボックスの前に追加され、最後に残ります。短い修正は

Selection.EndKey wdLine 

又は

Selection.EndKey wdStory 

.Add後行を追加することによって、線(または文書)の終わりにカーソルを移動することであろう。

もう一つの可能​​性は右にカーソル3文字を移動するには、次のようになります。

Selection.Move Unit:=wdCharacter, Count:=3 

あなたが行の末尾にあるチェックボックスを追加しない場合、これは選択肢になります。