| |
|
|
- Página 1 - |
|
Christof Neuß | ¡Hola,
brauche veces otra vez una Anschubser. Lo va por lo tanto, dass Soy un Zona de uno Exceldatei en un otro Exceldatei kopieren möchte. Eigentlich bastante simplemente, aber...
Yo habs veces así probiert, aber ya beim "Select" springt me Ding fuera. Oh, äähh... el hier son natürlich oben angegeben, sonst gehts sí nada.
$H Windows.ph
$H ocx3a.ph
$I ocx3a.inc
Proc DatenKopieren
Excel öffnen
ocxInit()
VAR Expediente1$ =$PROGDIR+"GGBVSDialog.xls"
VAR Expediente2$ =$PROGDIR+"GGBVSDialog_Auswertung.xlsx"
VAR Excel& =ocxCreate("Excel.Application")
VAR Workbooks&=ocxGet(Excel&,"Workbooks")
Exceldatei el Bank öffnen GGBVSDialog.xls
VAR NewBook1&=ocxMethod(Workbooks&,"Open",Expediente1$)
VAR Sheet1&=ocxGet(NewBook1&,"Sheets","BankDaten")
VAR Range1&=ocxGet(Sheet1&,"Range","B6:F100")
Exceldatei el GGB öffnen GGBVSDialog_Auswertung.xlsx
VAR NewBook2&=ocxMethod(Workbooks&,"Open",Expediente2$)
VAR Sheet2&=ocxGet(NewBook2&,"Sheets","BankDaten")
VAR Range2&=ocxGet(Sheet1&,"Range","B6")
BankDaten kopieren
ocxMethod(Sheet1&,"Activate")
ocxMethod(Sheet1&,"Select","B6:F100")
El Messagebox debería sólo Mostrar, si el Select-Befehl funktioniert ha,
also no con Fehlermeldung hay rausgesprungen es. Soweit kommt el Ding
aber gar no.
MessageBox("Select gelaufen","Meldung",0)
ocxMethod(Sheet1&,"Copy")
ocxMethod(Sheet2&,"Select","B6")
ocxMethod(Sheet2&,"PasteSpecial",)
Exceldateien y Excel schließen
ocxPut(NewBook1&,"Saved",1)
ocxMethod(NewBook1&,"Close")
ocxMethod(NewBook1&,"Save")
ocxPut(NewBook2&,"Saved",1)
ocxMethod(NewBook1&,"Close")
ocxMethod(Excel&,"Quit")
ocxRelease(Range1&,Sheet1&,NewBook1&)
ocxRelease(Range2&,Sheet2&,NewBook2&)
ocxRelease(WorkBooks&,Excel&)
ocxDeInit()
ENDPROC
Oh, el Sheets son en beiden Archivos igual aufgebaut. Auf Formatierungen etc. braucht uno also no Rücksicht nehmen. Mit el ersten Expediente voluntad el Daten beim Kunden abgeholt, en el zweiten son zusätzlich el Auswertungsblätter.
Gracias |
|
|
| |
|
|
| |
|
- Página 2 - |
|
|
Stephan Sonneborn | ¡Hola Pascal,
nein, desafortunadamente wars el auch no.
Yo bin zwar en esta Uralt-Trick reingefallen, aber el wars no... |
|
|
| Schöne Grüße aus Wittgenstein von Stephan
Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz | 02.10.2010 ▲ |
|
|
|
|
Uwe ''Pascal'' Niemeier | Hi Stephan!
Pensé, el Fehler wäre CallMethod Fehler $-7FF5FC14-2146827284 unbekannter Fehler ? Der ließ se nämlich por una falschen Pfad nachvollziehen y tritt beim versuchten Öffnen el xls en. Wo genau tritt porque el Fehler en dir en?
SeeYou Pascal |
|
|
| |
|
|
|
Stephan Sonneborn | Hi Pascal,
Yo debería me tal vez auch veces el ganzen Quellcode ansehen: como wurde en Tabellen verwiesen, el no en el Testdaten drin waren... Klar, dass entonces Fehler kommen...
Jetzt läufts fehlerfrei por, kopiert aber todavía no. Espero con me ahora otra vez Su Ayuda-Expediente a. |
|
|
| Schöne Grüße aus Wittgenstein von Stephan
Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz | 03.10.2010 ▲ |
|
|
|
|
Stephan Sonneborn | Hi Pascal,
Yo tener o ne- Cuestión: como kann Yo el letzte Línea de uno Excel-Mappe auslesen? en VBA wäre el
el debería doch irgendwie con ocxget() ir... Wenn Sheet& el aktuelle Mappe es, entonces debería el doch irgenwie ocx(Sheet&, "UsedRange",...) heißen... Hast Usted ne Concepto? |
|
|
| Schöne Grüße aus Wittgenstein von Stephan
Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz | 03.10.2010 ▲ |
|
|
|
|
Uwe ''Pascal'' Niemeier | Hi Stephan!
Den VBA-Ausdruck Sheet.UsedRange.Rows.Count mußt du para ocx en einzelne Objetos zerlegen:
BTW: Das Sheet incluso ha ya una Row-Unterobjekt, aber el enthält anscheinend el theoretisch verfügbare Zeilenanzahl.
Was me todavía aufgefallen es: El Excel-Anwendung se por el Release al Programmende desafortunadamente no final, pero restos unsichtbar en el Speicher hängen. Hier una vollständiges Ejemplo con Workaround dafür:
window 600,600
$H Windows.ph
$H ocx3a.ph
$I ocx3a.inc
ocxInit()
var Expediente$="C:1TestTest.xls"'---Existierende Expediente
var Excel&=ocxCreate("Excel.Application")
var ExcelWnd&=ocxGet(Excel&,"Hwnd")'--Ventana de Excel (auch si no sichtbar)
'ocxPut(Excel&,"Visible",1)'--a Testzwecken
var Workbooks&=ocxGet(Excel&,"Workbooks")
var NewBook&=ocxMethod(Workbooks&,"Open",Expediente$)
var Sheet&=ocxGet(NewBook&,"Sheets","Seite1")'--Tabla "Seite1" muß disponible ser
var UsedRange&=ocxGet(Sheet&,"UsedRange")
var Rows&=ocxGet(UsedRange&,"Rows")
imprimir ocxGet(Rows&,"Count")
ocxRelease(Rows&,UsedRange&,Sheet&,NewBook&,WorkBooks&,Excel&)
ocxDeInit()
sendmessage(ExcelWnd&,16,0,0)'--WM_CLOSE a Excel
waitinput
Relacionado con la Kopieren hab' Yo veces con eigenen Archivos angetestet; debería auch klappen.
HTH Pascal |
|
|
| |
|
|
|
Stephan Sonneborn | ¡Hola Pascal,
vielen Dank para Su Ayuda. Jetzt tener Yo el Zeilen auslesen puede. Yo versuch mich nun veces a el Tabellennamen innerhalb uno Expediente... |
|
|
| Schöne Grüße aus Wittgenstein von Stephan
Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz | 04.10.2010 ▲ |
|
|
|
|
Stephan Sonneborn | ¡Hola Pascal,
gibts eigentlich Unterschiede zw. Excel 97 y 2003 en Bezug en OCX? Yo hier ne Testumgebung sólo Excel 97 y laufe ständig en Fehler en.
Z.B. $8002006 -2147352570 en Línea
ExcelWnd& = ocxGet(Excel&,"Hwnd")
Tiempo ne generelle Cuestión: In el ocx3a.inc son en ocxGET-Función sólo 2 Parámetro angegeben. Liest el Función trotzdem "Seite1" de?
var Sheet&=ocxGet(NewBook&,"Sheets","Seite1")
|
|
|
| Schöne Grüße aus Wittgenstein von Stephan
Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz | 08.12.2010 ▲ |
|
|
|
|
Uwe ''Pascal'' Niemeier | Hi Stephan!
gibts eigentlich Unterschiede zw. Excel 97 y 2003 en Bezug en OCX? Yo hier ne Testumgebung sólo Excel 97 y laufe ständig en Fehler en.
Yo sería veces sagen: Sí So genau saber Yo mich no de, pero yo denke veces, daß auch Makros y Skripte no siempre abwärtskompatibel son, porque neuere Office-Versionen Befehle/Características enthalten, el en älteren eben fehlen. Como wirst du dich wohl en el jeweiligen Befehlssatz einarbeiten necesario.
Tiempo ne generelle Cuestión: In el ocx3a.inc son en ocxGET-Función sólo 2 Parámetro angegeben. Liest el Función trotzdem "Seite1" de?
Jepp! Alle más Parámetro voluntad innerhalb de "ocxGet" a Procedimiento "ocxPutParams" durchgereicht. Etwa así:
Zugegebenermaßen no muy elegant, especialmente Roland dieses Comportamiento ya en nächsten Profano-Versión kippen kann El Verarbeitung de Variables unbestimmten Typs (en ActiveX Gang y Gäbe) es todavía 'ne große Schwachstelle; el va bisher al einfachsten encima Procedimiento-Parámetro, porque como Valor y Typ quasi getrennt gehandhabt voluntad.
HTH Pascal |
|
|
| |
|
|
|
Stephan Sonneborn | ¡Hola Pascal,
Yo tener otra vez una Problema con ocx y Excel. En ocxDEInit() schmiert me Profano de. ¿Puede Usted Usted una Reim en él hacer? Yo en el ocx3a.inc el Proc ocxrelease como Ursache (el call-Aufruf en el besonderen) festgestellt.
Anbei auch una Bild el Fehlermeldung.
|
|
|
| Schöne Grüße aus Wittgenstein von Stephan
Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz | 02.06.2011 ▲ |
|
|
|
|
Uwe ''Pascal'' Niemeier | Hi Stephan!
Bisher lief lo doch? Was hast du porque geändert / neu instalado?
En ocxDeInit() voluntad todos a el Zeitpunkt todavía vorhandenen Objektpointer automáticamente freigegeben, indem ellos a ocxRelease() weitergereicht voluntad. Ein möglicher Fehler wäre, daß uno dieser Pointer en irgendeiner Weise ungültig es.
Usted arbeitest todavía con XProfan 11.2? Ein ähnliches Problema trat nämlich en vorletzten Versión de X2 en, porque beim Auslesen el ocx-internen Liste una falscher Valor ermittelt wurde; allerdings ergab el una unbestimmten Fehler y no Zugriffsverletzung...
Usted könntest dir veces el Objektliste Mostrar dejar:
Einen ungültigen Valor erkennt uno meist daran, daß él a niedrig es.
Halt mich en el Laufenden! Pascal |
|
|
| |
|
|
|
Stephan Sonneborn | Uwe ''Pascal'' Niemeier (02.06.11)
Bisher lief lo doch? Was hast du porque geändert / neu instalado?
Das Tuve mich auch gefragt. Eigentlich nix besonderes. Jedenfalls nix, qué con con el ocx-Routinen a tun hätte. Nur unos pocos farbige Edits...
Uwe ''Pascal'' Niemeier (02.06.11)
Usted arbeitest todavía con XProfan 11.2? Ein ähnliches Problema trat nämlich en vorletzten Versión de X2 en, porque beim Auslesen el ocx-internen Liste una falscher Valor ermittelt wurde; allerdings ergab el una unbestimmten Fehler y no Zugriffsverletzung...
Yo arbeite con X2. Mir war sólo aufgefallen, dass Todavía con el 12.00.058él Beta gearbeitet hatte y había entonces el aktuelle X2él como Interpreter genutzt. Aber dass el el Fehler war, war No inmediatamente klar. Erst como Yo veces una Exe des Programms (funktionstüchtig) como Interpreter-Expediente verwendet hatte, fiel el Groschen: lo musste tatsächlich a el aktuellen X2él Versión mentira!
Dann muss Yo wohl primero en alten Beta como Interpreter y Runtime para el OCX-Rogramme bleiben...
Mi aktuellen Versionen son: Runtime: 12.0.0.226 Interpreter: 12.0.0.221 |
|
|
| Schöne Grüße aus Wittgenstein von Stephan
Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz | 02.06.2011 ▲ |
|
|
|
|
RGH | ¡Hola, el aktuelle Versión es X2.0a y fue a todos Subscriptionskunden versandt! Runtime y Interpreter haben el interne Versión 12.0.1.0!
(Sollte el Mail No en angekommen ser, schicke me una Mail y Usted erhältst umgehend Post!)
(BTW: En JDS es de heute sólo esta aktuelle Versión erhältlich.)
Saludo Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 02.06.2011 ▲ |
|
|
|