PDA

Vollständige Version anzeigen : Tabellenzellen werden falsch gefüllt. VBA Code


ASCCUX
12.08.2009, 09:23
Hi @DEV,

ich stehe vor einem kleinen ( großen ) Problem mit Word2007.

Was passiert:
Per VB wird über ein externes Programm eine Worddatei generiert. Im Worddokument wird dann eine Tabelle erzeugt und die Zellen zur Laufzeit gefüllt.

In word2003 hat das noch sauber funktioniert. Jetzt wurde auf Word 2007 migriert und jetzt verliert das Programm irgendwann ( nicht immer an der gleichen Stelle ) den Fokus zur letzten Zelle ( oder Tabelle ) und schreibt dann wahllos in falsche Zellen.

Hat da jemand eine Idee woran das liegen kann ?

Gruss

ASC

ASCCUX
12.08.2009, 10:15
Da fällt mir ein,

es geht um eine Menge Daten. Gibt es vielleicht in Word 2007 spezielle Änderungen was die Zeilenanzahl ( max-Anzahl ) angeht ? oder irgendwas in dieser Richtung ?

Hotte
12.08.2009, 11:21
Hi,

eigentlich gibt es da keine solche Änderungen. Da müsste man sich das externe Progeam man sehen, wie da gefüllt wird...

So kann man nix dazu sagen.

Zur Größe:
Ich denke, dass es da "nur" die Begrenzung der eigentlichen Dokumetngröße gibt. Da wird es eine Barriere geben.

Die Frage ist imemr, ob solche langen Tabellen in Word überhaupt Sinn machen. Word ist ja eine Textverarbeitung...:)

ASCCUX
12.08.2009, 12:34
Da gebe ich Dir voll und ganz Recht Hotte. Im Moment überprüfe ich die komplette Programmierung. Es werden hintereinander mehrere Dokumente erstellt. In allen Dokumenten wird jeweils eine sehr lange Tabelle generiert. Wahrscheinlich wird hier der Fehler liegen. Ich werde nochmal prüfen, ob in der alten Version 2003 wirklich keine Fehler vorgekommen sind.

Ich melde mich nochmal. Danke

ebs17
12.08.2009, 13:36
Hallo ASCCUX,

falls Du auf die Programmierung des externen Programms Einfluss nehmen kannst und die Struktur der Tabelle das zulässt:
Sieh Dir mal die ConvertToTable-Methode an, d.h. statt Tabelle füllen wird die Tabelle aus den Daten erstellt.

ASCCUX
14.08.2009, 14:08
Hallo Guru / Hotte,

ich habe jetzt den Zugriff auf den Quellcode. Grundsätzlich sieht das wirklich gut aus. Es gibt eine Dot-Datei, in der nur der Tabellekopf fest eingefügt ist. Dann wird eine Textmarke angesprungen und in einer Schleife wird dann endlos eine Zeile nach der anderen erstellt und die Zellen gefüllt.

Irgendwann ( und das heißt wirklich immer an einer anderen Stelle ) meint das Programm keinen Fokus zur Tabelle zu haben und schreibt dann in Tabellenzeilen oberhalb des Cursors dann wieder unterhalb. Also wahloses springen und schreiben.

Wie gesagt, in 2003 läuft das Programm bis zum Ende durch. Scheint wirklich ein 2007 Problem zu sein. Vielleicht könnt ihr das auch mal nachstellen. Einfach eine Schleife ( for i = 1 to 100000000 ) und dann Zeilen generieren.
Vielleicht passiert euch das auch.

Wäre super. Denn dann wäre ich nicht so ganz alleine mit dem Problem.

Danke.

Hotte
14.08.2009, 14:13
Hi,

Einfach eine Schleife ( for i = 1 to 100000000 ) und dann Zeilen generieren.

Das sidn ja so viele Nullen .. fast wie die Hilfe für die maroden Banken ....:grins:

Sorry - das musste ich erstmal loswerden.

Kansnt Du ggf. den Code mal posten? Also die Schleife selbst .... dann kann man sich das mal ansehen.

Aber ich prüfe mal, ob es dort eine Grenze gibt in Word 2007...

peppi
14.08.2009, 14:22
OT: Soviele Nullen hat doch jeder von uns auf seinem Bankkonto, oder ?? :grins: (vor dem Komma ;))...
<br>

ASCCUX
14.08.2009, 14:45
Klar. Ich habe nur Probleme mit den Augen. Bei so vielen Nullen verschwimmt mir das Bild immer so und ich werde im Stehen Seekrank. :) Programmieren ist nur ein Hobby :)

Der Quellcode ist relativ lang. Ich muss mal gucken, ob ich den kleiner bekomme.

Danke erstma.

ASC

Hotte
14.08.2009, 14:50
Hi,

bei mir fehlt irgewndwie nur die 1 vor den vielen Nullen auf dem Bankkonto .. die steht hinter dem Komma .... also da ist was falsch...:grins:


Sag mal, wie lange läuft der Code eigentlich bei so vielen Tabellenzeilen? Das müssen ja Ewigkeiten sein...

Hotte
14.08.2009, 15:00
Also ich habs noch nicht komplett durhc - blockiert mir zu lange den Rechner. Aber es gibt keine Probleme beim Erzeugen der Zeilen. Er verleirt auch kein Focus oder so.

An Word scheint da swohl nicht zu liegen....

Da müsstest Du mal den anderen Code irgendwie posten oder so. Den müssten wir uns ansehen.

peppi
14.08.2009, 15:05
Hallo,

vielleicht hat das ja auch wieder was mit dem Textfluß zu tun? Vielleicht ist die Tabelle mit Textfluß "umgebend" formatiert worden??
<br>