2017-08-03 28 views
0

注意:我是一個VBA和Excel的總新手,但我知道我的東西在編程。這就是爲什麼我發佈這個爲我的一個朋友。Excel:可以使用vba宏從其他文件中刪除名稱嗎?

他試圖消除所有的名字,他在自己工作簿(1個簿= 1個文件,對不對?)有,所以他申請這個宏,他在網上找到,不知道到底是什麼呢:

Sub Del_Name() 
Dim Loop As Integer 
For Loop = ActiveWorkbook.Names.Count To 1 Step -1 
    If MsgBox("Erase: " & ActiveWorkbook.Names(Loop).Name & " - " & ActiveWorkbook.Names(Loop).Value & "?", vbQuestion + vbYesNo, "Confirm...") = vbYes Then 
     ActiveWorkbook.Names(Loop).Delete 
    End If 
Next 
End Sub 

然後,在他的文件名經理有名字引用一些其他文件,如:

他不知道這個名字來自哪裏。


所以,他的關注和我的問題在這裏:是否有可能vba宏擦除遠程文件中的名字?這甚至有可能嗎?

我已經查看了幾個小時的信息,我已閱讀的一些帖子建議這可能是可能的,但我仍然很困惑,任何幫助將不勝感激。

在此先感謝

+2

「ActiveWorkbook」指的是當宏運行時任何工作簿都會處於活動狀態,所以只要您的朋友在「問題」文件處於活動狀態時運行代碼,則應該沒有問題。該代碼只能在一個活動文件上運行,並且不會影響遠程文件。 –

+0

我假設'loop'是'boucle'的翻譯 - 您可能希望[編輯](https://stackoverflow.com/posts/45494843/edit)使問題保持​​一致。 (我正在摸索我的腦子,試圖弄清楚'boucle'變量是什麼) – YowE3K

+0

僅供參考對於已經使用了一段時間的Excel文件來說,包含粘貼複製/粘貼的剩餘「殭屍」鏈接並不罕見,粘貼操作。定期檢查任何鏈接並刪除不好的鏈接是一種很好的做法。 –

回答

0

沒有。 vba宏不可能擦除遠程文件中的名稱。

它所做的只是刪除存儲在excel文件中的鏈接列表。

與您在網絡瀏覽器中刪除收藏夾鏈接一樣,實際上並未更改鏈接指向的網站上的任何內容。

有可能使用宏來修改遠程文件。您必須有權訪問包含該文件的文件系統,並且必須對該文件具有「寫入」權限。那麼你可以打開文件並更新它。或運行更新SQL查詢。加上其他一些我現在無法想到的方法。

相關問題