Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Verknüpfung per VBA löschen & Sicherung

Forumthread: Verknüpfung per VBA löschen & Sicherung

Verknüpfung per VBA löschen & Sicherung
Rupert
Hallo Forum,
Ich müsste bei ein paar Datein, welche ich mit Application.filsearch öffne, die Links löschen und die Datei ohne links unter dem selben dateinamen & _values speichern.
hier mal meine Vorbereitung
Sub Öffnen_Details()
Dim iCounter As Integer, XXX() As Workbook, AllLinks As Variant, i As Long
AllLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
With Application.FileSearch
.LookIn = ThisWorkbook.Path & "\XXX"
.SearchSubFolders = False
.Execute msoSortByFileType
.FileType = msoFileTypeExcelWorkbooks
ReDim XXX(1 To .FoundFiles.Count)
For iCounter = 1 To .FoundFiles.Count
For i = LBound(AllLinks) To UBound(AllLinks)
Workbooks.Open Filename:= _
.FoundFiles(iCounter) _
, UpdateLinks:=0
Application.DisplayAlerts = False
ActiveWorkbook.Save
Sheets("LOCAL").Activate
Debug.Print "Breaking link to file " & AllLinks(i)
ActiveWorkbook.BreakLink Name:=AllLinks(i), _
Type:=xlExcelLinks
Sheets("LOCAL").Activate
Application.DisplayAlerts = True
Application.DisplayAlerts = False
Dim StrValue As String
StrValue = "_VALUE"
ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.Path & "\values\" & Left(ActiveWorkbook.  _
_Name, Len(ActiveWorkbook.Name) - 4) & StrValue
Application.DisplayAlerts = True
ActiveWorkbook.Close
Next i
Next iCounter
End With
end sub
Ich bekomme aber einen laufzeitfehler 13 - Typen unveträglich bei der zeile
For i = LBound(AllLinks) To UBound(AllLinks)
Wenn ich den Script alleine laufen lasse, so wie ich ihn im internet gefunden habe
Option Explicit

Sub testIt()
Dim AllLinks As Variant, i As Long
AllLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
If IsEmpty(AllLinks) Then GoTo XIT
For i = LBound(AllLinks) To UBound(AllLinks)
Debug.Print "Breaking link to file " & AllLinks(i)
ActiveWorkbook.BreakLink Name:=AllLinks(i), _
Type:=xlExcelLinks
Next i
XIT:
End Sub
funktioniert dieser, wo liegt mein denkfehler, ich kann doch 2 For definieren, oder liege ich hier falsch?
Wäre echt super, wenn mir jemand auf die Sprünge helfen könnte.
danke vorab
rupert
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Verknüpfung per VBA löschen & Sicherung
03.02.2010 18:57:03
Uduuh
Hallo,
du definierst AllLinks für das WB in dem das Makro steht, nicht für das neu geöffnete.
Die Schleifen sind falsch geschachtelt
Was soll XXX ?
Teste mal
Sub Öffnen_Details()
Dim iCounter As Integer, AllLinks As Variant, i As Long
Const StrValue As String = "_VALUE"
With Application.FileSearch
.LookIn = ThisWorkbook.Path & "\XXX"
.SearchSubFolders = False
.Execute msoSortByFileType
.FileType = msoFileTypeExcelWorkbooks
For iCounter = 1 To .FoundFiles.Count
Workbooks.Open Filename:= _
.FoundFiles(iCounter) _
, UpdateLinks:=0
AllLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
For i = LBound(AllLinks) To UBound(AllLinks)
Debug.Print "Breaking link to file " & AllLinks(i)
ActiveWorkbook.BreakLink Name:=AllLinks(i), _
Type:=xlExcelLinks
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs _
Filename:=ActiveWorkbook.Path _
& "\values\" _
& Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) _
& StrValue
Application.DisplayAlerts = True
ActiveWorkbook.Close False
Next i
Next iCounter
End With
End Sub
Gruß aus’m Pott
Udo

Anzeige
AW: Verknüpfung per VBA löschen & Sicherung
04.02.2010 08:19:17
Rupert
Hallo Udo,
Vielen dank, das funktioniert wunderbar. Das XXX ist einfach nur der Unterordner, bzw der dateiname.
Hat jemand noch eine idee wie ich das für Excel 2007 lösen könnte, da die funktion Application.filesearch ja deaktiviert wurde von seitens Microsoft.
lg
rupert
;
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige