Fang erst mal mit dem durchforsten der Datenbank an,
filtere alle AcDbMText und AcDbText objekte.
Wenn das klappt erstelle dir eine Funktion zum prüfen des TextString anhand deines "Musters"
diese kannst du dann ergänzen.
Oder wenn du dir sicher bist dass die Textobjekte nur als TopLevel Elemente im Modellbereich liegen,
also nicht verschachtelt in einem Block, dann kannst du auch mit SelectionSets arbeiten
und in einem Streich alle Texte und MTexte mit dem Muster auswählen.
Diese Variante hat jedoch einen Makel, MTexte können Formatierungscodes enthalten, je nachdem welche/wo können diese die Auswahl anhand des Textwertes verhindern.
EDIT(wobei das auch bei Textobjekten zutreffen kann, aber in der Praxis seltener vorkommt)/EDIT
Der Layerfilter hat sich nicht erledigt, rein theoretisch könnten ja auf anderen Layer ebenfalls Texte zu finden sein welche dem Muster entsprechen. Willst du also sicherstellen nur Objekte auf dem LayerX zu
sammeln mußt du auch den referenzierten Layer(namen) prüfen. Aber das ist ja deine Sache.
Wenn du dann deinen array mit den Daten hast suchst du dir Beispielcode für das Excel-Handling,
Programminstanz finden oder neu öffnen,
Dateinamen offener Dateien prüfen (nicht nötig wenn man eine neue Datei auf Basis einer Excelvorlagedatei startet),
wenn dann alles passt die Daten rüber schaufeln und Datei speichern und dann die Kleinigkeiten wie weiter verfahren werden soll mit Datei und Programm.
Man findet Unmengen Beispielcode dafür, denn jeders "Attribute nach Excel exportieren" Tool enthält den Basis-Stoff für die Aufgabe.
Wenn du nicht programmieren wolltest und es nur für eine Datei wäre,
oder auch einmalig für viele Dateien auf einmal, dann würde ich dir
sagen 'Nimm die DATENEXTRAKTION' und mach den Rest in Excel.
Aber um den Standard Programmumfang & Weg geht es hier ja nicht.
[Diese Nachricht wurde von cadffm am 16. Mai. 2018 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP