AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
01.06.20 - 14:40:39
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino Sonstiges
| |-+  OLE/COM-Programmierung
| | |-+  nach Excel exportierte Daten suchen und ersetzen
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: nach Excel exportierte Daten suchen und ersetzen  (Gelesen 5544 mal)
Micha8
Frischling
*
Offline Offline

Beiträge: 24


« am: 01.04.08 - 14:43:42 »

Hallo, bin schon wieder hier,  mit einem weiteren Problem.

Ihr kennt alle dieses kleine Helferlein in Excel "Suchen nach / Ersetzen durch". Genau das möchte ich via Lotus an Excel weitergeben. Die exportierten Daten enthalten u.a. Spalte A, in der ich lediglich den Text "VB" durch "PS" suchen und ersetzen lassen möchte. Als Anfänger ist mir auch dies bisher nicht geglückt. Habe zwei Varianten probiert.
Variante1:
Code:
xlsheet.Columns("A:A").Select
With selection
.Replace What="VB", Replacement="PS", LookAt=xlPart, _
SearchOrder=xlByColumns, MatchCase=False, SearchFormat=False, _
ReplaceFormat=False
End With
Hier kommt die Fehlermeldung "Type mismatch".
-----------------------------------------------------------------------------------
Variante 2:
Code:
xlsheet.Columns("A:A").Select
xlApp.Selection.Replace What="VB", Replacement="PS", LookAt=xlPart, _
SearchOrder=xlByRows, MatchCase=False, SearchFormat=False, _
ReplaceFormat=False
Hier kommt die Fehlermeldung "OLE: Automation object error".


Vielleicht ist mein Ansatz auch ganz falsch ? Hat jemand die Lösung für mich ?
Gruß
Michael
Gespeichert
Axel
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 8658


It's not a bug, it's Notes


« Antworten #1 am: 02.04.08 - 08:37:23 »

Hast du in der Variante 1 die Konstanten xlPart und xlByColumns in deinem Code definiert?

Const xlPart = 2
Const xlByColumns = 2


Axel
Gespeichert

Ohne Computer wären wir noch lange nicht hinterm Mond!
Micha8
Frischling
*
Offline Offline

Beiträge: 24


« Antworten #2 am: 14.04.08 - 11:19:22 »

Hallo Axel,
komme erst heute dazu, dies Problem wieder in Angriff zu nehmen. Nein, die Konstanten hatte ich bisher nicht definiert. Habe das nun nachgeholt, doch der Ablauf steigt dann bei dem Code des Suchen/Ersetzens (meine Variante1) aus, mit der Notes Fehlermeldung "Type mismatch".
Was nun ? Was ist falsch ?
Gespeichert
ata
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 5092


drenaiondrufflos


WWW
« Antworten #3 am: 14.04.08 - 11:26:46 »

... bei Type mismatch verwendest du falsche Datentypen. Über den debugger kannst du feststellen, wo das passiert...

Toni
Gespeichert

Grüßle Toni Smiley
Micha8
Frischling
*
Offline Offline

Beiträge: 24


« Antworten #4 am: 23.04.08 - 07:58:42 »

Hallo,
wie von Axel vorgeschlagen habe ich nun die Constanten definiert. Aber egal ob mit diesen oder auch ohne. Ich weiß nicht warum - habe an meinem Code eigentlich außer den Constanten nichts geändert, und egal ob ich meine o.g. Variante 1 oder 2 teste, bei beiden bekomme ich auf einmal IMMER die Fehlermeldung "OLE: Automation object error".
Mit dem Debugger komm ich nicht klar. Der Code stoppt mit der genannten Fehlermeldung an der Stelle des Codes "Suchen / ersetzen" (wie in meinem Eröffungspost oben beschrieben.)

Ich werde noch verrückt. Wo liegt das Problem ??
Weiß jemand Rat ?
Gespeichert
ata
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 5092


drenaiondrufflos


WWW
« Antworten #5 am: 23.04.08 - 08:28:58 »

... wie ich das sehe verwendest du den Code so, wie du ihn aus dem EXCEL-Makro kopiert hast. Es kann sein, daß sich LS an der Schreibweise stört:

App.Selection.Replace What="VB", Replacement="PS", ...

Versuche herauszufinden, wie die LS-Schreibweise aussieht..

=> App.Selection.replace( Arg1 , Arg2 , ... )

In welcher Reihenfolge die Parameter dann übergeben werden müssen...

Toni
Gespeichert

Grüßle Toni Smiley
atbits
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 708


sei Du selbst die Veränderung, die Du Dir wünschst


WWW
« Antworten #6 am: 24.04.08 - 09:46:21 »

Versuch doch mal:
Code:
xlsheet.Columns("A:A").Replace("VB", "PS", xlPart, xlByRows, False, False, False)

oder

Code:
xlsheet.Columns(1).Replace("VB", "PS", xlPart, xlByRows, False, False, False)
Gespeichert

David Schiffer
================================
atBits GmbH & Co. KG - https://atbits.de
im Einsatz: Lotus Domino 8.5, 9, 10
Micha8
Frischling
*
Offline Offline

Beiträge: 24


« Antworten #7 am: 08.07.08 - 14:22:15 »

Hallo zusammen,

komme leider erst heute dazu dieses Thema wieder aufzugreifen, da es jetzt wieder aktuell wird. Habe die bisherigen Lösungsansätze versucht und genau getestet, doch leider war keine funktionierende Idee dabei. Hat jemand einen anderen Vorschlag (mittlerweile herausbekommen) ?

@atbits
Dein Code hat leider gar nicht funktioniert, er bleibt in meinem Designer rot und so läßt sich der Code gar nicht erst abspeichern.
Gespeichert
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: