2017-08-03 72 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查询。加上其他一些我现在无法想到的方法。

相关问题