Excel und VB.net < BASIC < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 13:00 Mi 11.07.2007 | Autor: | M4rv3l0u5 |
Hallo zusammen.
Habe folgendes Problem.
Ich hab eine Excel-Tabelle mit vielen Werten, Zuordnungen usw.
Ich möchte jetzt mit VB.net ein Script schreiben, das mir nur bestimmte Werte ausgibt und diese in ein PDF-Dokument packt (MS Word auch möglich).
Gibt es evtl andere möglichkeiten, nur bestimmte Daten auszulesen, die mir dann ein Script oder so, ausgibt ?
Hab mal was von Parsern gehört, hab aber mit sowas nur im IRC *gespielt*, also nix weltbewegendes. Kann man sowas dafür auch benutzen um Daten aus Excel zu bekommen?
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 17:27 Mi 11.07.2007 | Autor: | Walty |
> Hallo zusammen.
>
> Habe folgendes Problem.
> Ich hab eine Excel-Tabelle mit vielen Werten, Zuordnungen
> usw.
> Ich möchte jetzt mit VB.net ein Script schreiben, das mir
> nur bestimmte Werte ausgibt und diese in ein PDF-Dokument
> packt (MS Word auch möglich).
Muss es VB.net sein?
Ich weiss, dass es mit VBA möglich ist zwischen den Office-Programmen zu Arbeiten.
Mindestens von Excel nach Word.
Dh ein VBA-Excel-Makro, welches ein Word Document erstellt wäre durchaus Möglich.
Fraglich wäre, ob Dir der Aufruf (Excel muss laufen) ins Konzept passt.
> Gibt es evtl andere möglichkeiten, nur bestimmte Daten
> auszulesen, die mir dann ein Script oder so, ausgibt ?
Ein ganz einfacher Weg wäre, entweder ein eigenes Tabellenblatt anzulegen, wo die gesuchten Werte angezeigt werden - da kann man sogar auch alle Formatierung und Zusatztexte mit Einbringen (Geschäftsbericht?).
...oder eine eigene Datei, und dann entsprechende Felder zu verlinken. Afaik ginge dafür sogar eine Word-Datei, (externe Daten in Feldern? Einbinden eines Excel.Workbook Objekts...ich weiss nicht genau wie, aber dass...)
du kannst eine Excel Datei im CSV-Format speichern (Colon separated values) und dann mit perl/php/...parsen
Wenn es Dir nur darum geht, einige bestimmte Daten, die Ergebnisse oder Zusammenfassungen anderer Daten sind anzuzeigen, dann ist es wahrscheinlich das einfachste, diese auf einem eigenen Tabellenblatt zusammenzufassen, und dieses manuell/per makro auszugeben /zu exportieren / an den Pdf-Drucker zu drucken.
(Wenn die steuerung über Cron oder so notwendig ist gibt es sicherlich auch Schnittstellen zu VB.net, sei es stumpf über ein Automakro, bei Aufruf der Datei, oder über bei laufenden Excel Aufruf eines makros aus VB.net heraus...)
obwohl das wahrscheinlich nicht der Hacker-way-of-doing-it ist...
VB.net sagt mir nix, ich kann das bischen VBA, was ich mir mit dem Makrorekorder und stundenlangem lesen in der Onlinehilfe angeeignet habe - aber ich weiss, dass es im Prinzip gehen müsste
hth Walty
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 15:58 Do 12.07.2007 | Autor: | M4rv3l0u5 |
Hallo !
Vielen Dank erstmal für die Idee.
Ich habe heute inner arbeit ein wenig gebastelt und habe aus dem Datenzeug erstmal ne Pivot-Tabelle gemacht. Diese hab ich dann als *.csv gespeichert.
Mit etwas basteln hab ich es dann hinbekommen, das VB.net mir das pdf-doku erstellt und zusätzlich die aktuellen werte in einer *.mdb aktualisiert und wenn nicht vorhanden neu anlegt.
So bleibt alles aktuell Der nächste schritt ist nun das das so angeordnet wird, das der Drucker ohne motzen das ausspuckt ^^
Die Ränder werde ich noch per vb.net einstellen müssen, da der drucker sonst denkt er is nicht mehr auf dem blatt.
MfG
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 19:48 Do 12.07.2007 | Autor: | Walty |
ok, wenn Du fliessend VB sprichst *gg*
aber wenn Du
+ erst von Hand als *.CSV speichern musst,
+ um per VB ein PDF zu erzeugen,
+ welches Du dann ausdruckst,
... frage ich mich ernsthaft, warum Du nicht einfach unter Excel eine Zusammenfassung auf einem separaten Tabellenblatt ausdruckst? Da gibts auch kein Gefrickel mit den Rändern...
- und die Schnittstelle zur Aktualisierung der *.mdb ist sicherlich direkt aus Excel als VBA-makro genauso einfach, ohne im CSV-File rumzufrickeln, da gerade MS-Access und Excel miteinander verwandt sind, und VBA afaik alle MS-Office-Objekte mitbringt
Wenn Du eh zum CSV-Speichern Excel aufmachen must, und dir damit diesen Schritt nicht ersparen kannst, dann könntest du auch gleich die Druckfunktion zusammen mit der Aktualisierung als AutoOpenMakro mit reinbauen...
(btw: Für knapp 20$ gibts übrigens eine SW-Lösung bei www.sobolsoft.com zu kaufen.
aberdas ist ja wie schummeln )
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 10:44 Fr 13.07.2007 | Autor: | M4rv3l0u5 |
Huhu !
Das Problem dahinter ist, das das der beginn ist, um eine Netzwerktaugliche Datenbank zu erstellen, die den Button *Print* beinhaltet.
Das speichern als *.csv hab ich schon automatsiert, den Print-Buton mit den einstellungen auch, jetzt kommt der knifflige teil mit einer *.exe erstellen, damit in der firma sich jeder das prog aufn Rechner packen kann
und dann duch vb.net (Eingabemaske) die werte rausziehen kann die er brauch und diese dann für Statistiken etc zusammenfassen kann, oder sich das in ne Präsentation packen kann.
Es is noch sehr viel potential da, was da rein kann.
|
|
|
|