2013-07-19 130 views
0

我試圖使用VBA代碼刪除特定範圍內的最後一個字符(「,」)。
當我輸入我有的代碼時,它給我一個編譯錯誤,說「Expected:=」。從文本範圍的末尾刪除單個字符

這是我的代碼行,給我的問題。

doc.Bookmarks("F1").Range.Delete(wdCharacter,-1) 
+1

您能否展示出現此問題的最簡單示例 - 我們不知道如何定義表達式中的所有元素...乍一看,你需要將返回值賦給變量?如果您提供了能夠重現錯誤所需的全部信息,那就太好了。將您的代碼粘貼到VBA子版中並不符合該標準(尚未)。你可以編輯一些額外的說明嗎? – Floris

回答

1

下面的代碼似乎做你想要什麼:

Option Explicit 
Sub test() 
    Dim r 
    If ActiveDocument.Bookmarks.Exists("mark1") Then 
    r = ActiveDocument.Bookmarks("mark1").Range.End 
    ActiveDocument.Range(r - 1, r).Delete 
    End If 
End Sub 

說明:

  1. 始終聲明變量;如果你忘了Option Explicit會抱怨/拼錯
  2. 檢查書籤存在
  3. 找到書籤
  4. 的最後一個字符的位置刪除結束
0

嘗試這種方式開始一個字符範圍刪除書籤的最後一個字符:

doc.Range(doc.Bookmarks("F1").End - 1, _ 
      doc.Bookmarks("f1").End).Delete