2017-08-25 8 views
0

Dies ist mein erstes Mal ein Makro zu schreiben, damit ich nicht sicher bin, was dieser Fehler bedeutet oder wie es zu beheben ist. Kann mir jemand Rat geben? Jede Hilfe wäre willkommen. Ich würde gerne sagen, dass ich ein paar Lösungen ausprobiert habe, aber wie gesagt, das ist mein erstes Mal so nicht sicher, was ich überhaupt versuchen soll.Makro Fehler in SharpDevelop - ist nicht deklariert

Public Sub DeleteUnusedViews() 
    'define current document 
    Dim currentDoc As Document = Me.Application.ActiveUIDocument.Document 

    'get all views 
    Dim viewCollector = New FilteredElementCollector(currentDoc) 
    viewCollector.OfCategory(BuiltInCategory.OST_Sheets) 

    'create list of views to delete 
    Dim viewsToDelete As New List(Of View) 

    'loop through views and check if it's on a sheet 
    For Each curView As View In viewCollector 
     'check if view is a template 
     If curView.IsTemplate = False Then 
      'check if view can be added to sheet 
      If Viewport.CanAddViewToSheet(currentDoc, sheetCollector.FirstElement.Id, curView.Id) = True Then 
       'add view to delete list 
       viewsToDelete.Add(curView) 
      End If 
     End If 
    Next 

    'create transaction 
    Dim curTrans As New Transaction(currentDoc) 
    curTrans.Start("Delete unused views") 

    'delete views in list 
    For Each curViewToDelete As View In viewsToDelete 
     currentDoc.Delete(curViewToDelete.Id) 
    Next 

    'commit changes 
    curTrans.Commit 
    curTrans.Dispose 

    'alert the user 
    TaskDialog.Show("Deleted Views", "Deleted " & viewsToDelete.Count & " views.") 

End Sub 

Antwort

0

Ich habe nicht in VB gearbeitet, aber in einem C# Makro habe ich habe this.ActiveUIDocument.Document zu verwenden, um das aktive Dokument zu erhalten.

Dim currentDoc As Document = this.ActiveUIDocument.Document 

Vielleicht wird 'mich' nicht deklariert? Sie haben auch bemerkt, dass Sie beabsichtigen, eine Sammlung von Ansichten zu durchlaufen, aber es sieht so aus, als wäre Ihr viewCollector eine Sammlung von Elementen, die ViewSheets sind. Wo ist sheetCollector definiert?

Verwandte Themen