Hot News:

Unser Angebot:

  Foren auf CAD.de
  VBasic / vb.net / vbs / wsh
  Tabelle aus Word extrahieren.

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  Tabelle aus Word extrahieren. (2874 mal gelesen)

Ex-Mitglied



erstellt am: 04. Nov. 2004 10:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hallo zusammen,

ich muß eine Tabelle aus einer Word-Datei nach CATIA einfügen.

Den CATIA-Teil habe ich soweit klar bekommen.

Jetzt gibt es nur noch einige Probleme bei Word.

Da es mir zu umständlich ist, überflüssiges manuell zu löschen, habe ich mir mit dem Makro-Rekorder den ganzen Weg als Makro aufgezeichnet.

Beim probeweisen Ablauf bricht Word ab.

Fehlermeldung ist:

Code:
Laufzeitfehler '5992'

ES können keine individuellen Spalten in dieser Sammlung adressiert werden, weil die Zeilenweite der Tabelle unterschiedliche Werte aufweist.


Der beanstandete Bereich sieht so aus:

Code:

    Selection.MoveRight Unit:=wdCell
    Selection.MoveLeft Unit:=wdCell
    Selection.MoveLeft Unit:=wdCell
    Selection.MoveLeft Unit:=wdCell
    Selection.MoveLeft Unit:=wdCell
    Selection.Tables(1).Columns(1).PreferredWidthType = wdPreferredWidthPoints
    Selection.Tables(1).Columns(1).PreferredWidth = InchesToPoints(0.8)

Leider habe ich von VB oder VBScript keine Ahnung.

Kann mir jemand sagen, wie ich die Passage umgestalten muß, damit es funktioniert?

Und noch eine zweite Frage:

Wie finde ich unnötige Zeilenwechsel in den einzelnen Zellen der Tabelle?

Viele Grüße,

CEROG

------------------
Inoffizielle Linux-Hilfeseite http://linux.cad.de

Axel.Strasser
Ehrenmitglied V.I.P. h.c.
Selbstständig im Bereich PLM/CAx



Sehen Sie sich das Profil von Axel.Strasser an!   Senden Sie eine Private Message an Axel.Strasser  Schreiben Sie einen Gästebucheintrag für Axel.Strasser

Beiträge: 4107
Registriert: 12.03.2001

Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!

erstellt am: 04. Nov. 2004 12:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Roland,

das kann ja nicht das ganze Script sein. Wie wird die selection ausgeführt ?

Warum machst Du das mit Word. Tabellen-Handling in Word ist "bäh", kannst Du da nicht auf Excel umsteigen ?

Gruss
Axel

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied



erstellt am: 04. Nov. 2004 13:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat


tabelle_extrahieren.txt

 
Hallo Axel,

leider habe ich die Dateien nicht gemacht. Wenn's nach mir ginge, hätten wir auch ein anderes Office. Mit OpenOffice hätte ich es hier leichter, XML ist doch leichter zu handhaben (zumindest für mich).
Der gesamte Selection-Bereich vorher sieht so aus:

Code:

Selection.WholeStory
    Selection.Delete Unit:=wdCharacter, Count:=1
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
    Selection.Rows.Delete
    Selection.MoveRight Unit:=wdCell
    Selection.MoveRight Unit:=wdCell
    Selection.MoveRight Unit:=wdCell
    Selection.MoveRight Unit:=wdCell
    Selection.Columns.Delete
    Selection.Columns.Delete
    Selection.Columns.Delete
    Selection.Columns.Delete
    Selection.Columns.Delete
    Selection.Tables(1).AutoFitBehavior (wdAutoFitFixed)
    Selection.MoveRight Unit:=wdCell
    Selection.MoveLeft Unit:=wdCell
    Selection.MoveLeft Unit:=wdCell
    Selection.MoveLeft Unit:=wdCell
    Selection.MoveLeft Unit:=wdCell
    Selection.Tables(1).Columns(1).PreferredWidthType = wdPreferredWidthPoints
    Selection.Tables(1).Columns(1).PreferredWidth = InchesToPoints(0.8)
    Selection.Move Unit:=wdColumn, Count:=1

Möglicherweise läßt sich das ganze noch vereinfachen.

Ich habe das komplette Script in einer Datei anghängt. Vielleicht hilft das ja weiter.

Viele Grüße,

CEROG

------------------
Inoffizielle Linux-Hilfeseite http://linux.cad.de


Ex-Mitglied



erstellt am: 05. Nov. 2004 11:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hallo zusammen,

nachdem ich

Code:

Selection.Tables(1).Columns(1).PreferredWidthType = wdPreferredWidthPoints
    Selection.Tables(1).Columns(1).PreferredWidth = InchesToPoints(0.8)

durch

Code:

Selection.Columns.PreferredWidthType = wdPreferredWidthPoints
    Selection.Columns.PreferredWidth = InchesToPoints(0.8)


ersetzt habe ging es.

Jetzt fehlen mir nur noch ein paar Kleinigkeiten:
das Abspeichern ohne Extension und das Beseitigen überflüssiger Leerzeichen.

Viele Grüße,

CEROG

------------------
Inoffizielle Linux-Hilfeseite http://linux.cad.de

Thomas Harmening
Ehrenmitglied V.I.P. h.c.
Arbeiter ツ



Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

what i think?
I think, no skill

erstellt am: 08. Nov. 2004 19:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Word ohne Extension abspeichern, versuche mal
Code:
Sub ohne_ext()
datnam = InputBox("Geben Sie den Projektnamen ein" & Chr(10) & "(ohne Endung " & Chr(39) & ".doc" _
        & Chr(39) & "):", "Name der Quelldatei", datnam)

ActiveDocument.SaveAs FileName:=datnam & "."
End Sub



Edit wegen Zeilenumbruch 

[Diese Nachricht wurde von Thomas Harmening am 08. Nov. 2004 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied



erstellt am: 09. Nov. 2004 08:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hallo Thomas,

mit dem Punkt am Ende hat es geklappt.

Da ich den Namen unter der die Datei abgespeichert wird fest vorgebe, wird es noch einfacher, als in deinem Beispiel.

Viele Dank,

CEROG

------------------
Inoffizielle Linux-Hilfeseite http://linux.cad.de

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz