Foro | | | | 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 |
| | | | |
| | |
=== SORRY!!!! === Hatte el Contribución irgendwie bajo Incluye erstellt. Kriege Yo como auch no mehr weg, oder? Deshalb hier una vez más.
Kein Problema, demnächst puede ser seine Temas auch cualquier mover, Yo glaube "Löschen" hättest Usted el Contribución bajo Incluye sin embargo puede. (de otra manera muss Yo otra vez ran) Posesiones dortigen Contribución simplemente "entfernt". ^ ^
Zum Code kann Yo wenig sagen, naja, Yo sehe "unbekannte" Escapesequenzen. ^ ^ |
| | | | |
| | Christof Neuß | Como bin Todavía veces.
Thema hecho. Yo habs por probieren lösen puede. Manchmal hilft simplemente una Pause. Danach gehts mejor. Den Hilo aquí setzt doch alguien en "erledigt", oder muss/kann Yo el irgendwo hacer?
Ach sí, Eines interessiert mich ya todavía. Bekommt el XProfan-Programa eigentlich una Rückmeldung de los abgesetzten ocx-Befehlen y arbeitet sólo entonces más oder voluntad el simplemente en el Queue geschmissen? Hintergrund el Cuestión: Muss Yo una "Sleep" einbauen, si yo z.B. una große Exceldatei con "Save" speichern lasse y el algunos Tiempo dauert oder kann Yo el sparen?
Wens interessiert, hier es el Code: KompilierenMarcaSeparación
Proc DatenKopieren
Excel öffnen
ocxInit()
VAR Datei1$ =$ProgDir+"GGBVSDialog.xls"
VAR Datei2$ =$ProgDir+"GGBVSDialog_Auswertung.xlsx"
VAR Excel& =ocxCreate("Excel.Application")
ocxPut(Excel&,"DisplayAlerts",0)
VAR Workbooks&=ocxGet(Excel&,"Workbooks")
Exceldatei der Bank öffnen GGBVSDialog.xls
VAR NewBook1&=ocxMethod(Workbooks&,"Open",Datei1$)
VAR Sheet1&=ocxGet(NewBook1&,"Sheets","BankDaten")
VAR Range1&=ocxGet(Sheet1&,"Range","B6:F100")
Exceldatei der GGB öffnen GGBVSDialog_Auswertung.xlsx
VAR NewBook2&=ocxMethod(Workbooks&,"Open",Datei2$)
VAR Sheet2&=ocxGet(NewBook2&,"Sheets","BankDaten")
VAR Range2&=ocxGet(Sheet2&,"Range","B6")
SetText Elemente&[3], GetText$(Elemente&[3])+"
Exceldateien wurden geöffnet..."
BankDaten kopieren
ocxMethod(Sheet1&,"Activate")
ocxMethod(Range1&,"Copy")
ocxMethod(Sheet2&,"Activate")
ocxMethod(Range2&,"PasteSpecial",)
SetText Elemente&[3], GetText$(Elemente&[3])+"
Bankdaten wurden kopiert..."
KAP_Fiku kopieren
Sheet1&=ocxGet(NewBook1&,"Sheets","KAP_Fiku")
Range1&=ocxGet(Sheet1&,"Range","A1:AA1000")
Sheet2&=ocxGet(NewBook2&,"Sheets","KAP_Fiku")
Range2&=ocxGet(Sheet2&,"Range","A1")
ocxMethod(Sheet1&,"Activate")
ocxMethod(Range1&,"Copy")
ocxMethod(Sheet2&,"Activate")
ocxMethod(Range2&,"PasteSpecial",)
SetText Elemente&[3], GetText$(Elemente&[3])+"
FIKU-Daten wurden kopiert..."
KAP_Priku kopieren
Sheet1&=ocxGet(NewBook1&,"Sheets","KAP_Priku")
Range1&=ocxGet(Sheet1&,"Range","A1:AA1000")
Sheet2&=ocxGet(NewBook2&,"Sheets","KAP_Priku")
Range2&=ocxGet(Sheet2&,"Range","A1")
ocxMethod(Sheet1&,"Activate")
ocxMethod(Range1&,"Copy")
ocxMethod(Sheet2&,"Activate")
ocxMethod(Range2&,"PasteSpecial",)
SetText Elemente&[3], GetText$(Elemente&[3])+"
PRIKU-Daten wurden kopiert..."
KAP_betreut kopieren
Sheet1&=ocxGet(NewBook1&,"Sheets","KAP_betreut")
Range1&=ocxGet(Sheet1&,"Range","A1:AA1000")
Sheet2&=ocxGet(NewBook2&,"Sheets","KAP_betreut")
Range2&=ocxGet(Sheet2&,"Range","A1")
ocxMethod(Sheet1&,"Activate")
ocxMethod(Range1&,"Copy")
ocxMethod(Sheet2&,"Activate")
ocxMethod(Range2&,"PasteSpecial",)
SetText Elemente&[3], GetText$(Elemente&[3])+"
KAP-Daten Betreuer/Berater wurden kopiert..."
Exceldateien und Excel schließen
ocxPut(NewBook1&,"Saved",1)
ocxMethod(NewBook1&,"Close")
Sheet2&=ocxGet(NewBook2&,"Sheets","Inhalt")
Range2&=ocxGet(Sheet2&,"Range","A1")
ocxMethod(Sheet2&,"Activate")
ocxMethod(NewBook2&,"Save")
ocxPut(NewBook2&,"Saved",1)
ocxMethod(NewBook2&,"Close")
ocxMethod(Excel&,"Quit")
ocxRelease(Range1&,Sheet1&,NewBook1&)
ocxRelease(Range2&,Sheet2&,NewBook2&)
ocxRelease(WorkBooks&,Excel&)
ocxDeInit()
SetText Elemente&[3], GetText$(Elemente&[3])+"
Exceldateien gespeichert und Excel beendet..." lass=s4 href='./../../function-references/XProfan/ENDPROC/'>ENDPROC
Gracias. |
| | | | |
| | | Zum OCX-Thema weiß Yo no, si existe una "Ready-" oder "Busy-State" son. Um Thema como se hace a marca, simplemente links oben en el Button "Thema: ..." clic y [X] Aktiv-Häkchen entfernen y speichern. ^ ^ |
| | | | |
| | Uwe ''Pascal'' Niemeier | ¡Hola Christof!
Bekommt el XProfan-Programa eigentlich una Rückmeldung de los abgesetzten ocx-Befehlen y arbeitet sólo entonces más oder voluntad el simplemente en el Queue geschmissen? Hintergrund el Cuestión: Muss Yo una "Sleep" einbauen, si yo z.B. una große Exceldatei con "Save" speichern lasse y el algunos Tiempo dauert oder kann Yo el sparen?
Das kommt en el Función a. Nach meiner Erfahrung trabajo el meisten Métodos asynchron, d.h. el Hauptprogramm se ejecuta más, während el Función todavía arbeitet. Das kann beim Guardar de großen y/oder más Archivos a Problemen führen. Darum hay como IF ya sagte oft una State- oder Busy-Abfrage.
Ein möglicher Workaround wäre, después de Absetzen des Schreibbefehles en uno Bucle el Größe el Expediente a überprüfen; bekommt uno während des Schreibvorganges no Zugriff (FileSize= -1; Fehlermeldungen ausschalten), Es el Expediente todavía no fertig. Wenn uno el Sollgröße el Expediente sabe, puede ser después de el Carta auch prüfen, si el Expediente vollständig es y quizás el Vorgang wiederholen.
Como ya he dicho, el hängt vom verwendeten ActiveX-Objeto (Excel, HTML, Zip, db usw.) de. Im Zweifelsfall also ausprobieren!
HTH Pascal |
| | | | |
| | Christof Neuß | ¡Hola Pascal,
danke para el Hinweise. Sind hilfreich. Que el FileSize muss Yo veces ausprobieren. Bis ahora Tuve una Sleep instalado, aber como el Archivos unterschiedlich groß son y/oder el Sistema auch veces más rápido y veces langsamer es, verschenkt uno Tiempo oder uno es doch no sicher, dass alles gespeichert es. |
| | | | |
| | | ¡Hola Christof,
Yo bekomme en Línea VAR NewBook1&=ocxMethod(Workbooks&,"Open",Expediente1$) stets una Fehlermeldung CallMethod Fehler $-7FF5FC14-2146827284 unbekannter Fehler
Und danach stürtzt el Programa de...
Umgebung: WIN7, XPROFAN12ß14, gilt aber auch para XPROFAN11.2 |
| | | | |
| | | Ist natürlich schade, dass el en Codes angegebenen Excel-Archivos no hochgeladen fueron z.B. con Demodaten. @Invitado: ¿Puede Usted Por favor, una kompletten Code con dazugehöriger Excel-Expediente hochladen sodass el Choque einfacher nachvollziebar es? |
| | | | |
| | Stephan Sonneborn | Hi David,
Yo wars... Tuve vergessen, mich anzumelden y luego war el Post auch ya drin...
Also, el Quellcode es el, el Christof Nuevo ha. Bis en el Daten. el son 2 propio Test-Archivos gleichen Inhalts.
KompilierenMarcaSeparación $H Windows.ph
$H ocx3a.ph
$I ocx3a.inc
Proc DatenKopieren
'Excel öffnen
ocxInit()
VAR Datei1$ =$ProgDir+"Test.xls"
VAR Datei2$ =$ProgDir+"test2.xls"
VAR Excel& =ocxCreate("Excel.Application")
ocxPut(Excel&,"DisplayAlerts",0)
VAR Workbooks&=ocxGet(Excel&,"Workbooks")
'Exceldatei der Bank öffnen GGBVSDialog.xls
VAR NewBook1&=ocxMethod(Workbooks&,"Open",Datei1$)
VAR Sheet1&=ocxGet(NewBook1&,"Sheets","BankDaten")
VAR Range1&=ocxGet(Sheet1&,"Range","B6:F100")
'Exceldatei der GGB öffnen GGBVSDialog_Auswertung.xlsx
VAR NewBook2&=ocxMethod(Workbooks&,"Open",Datei2$)
VAR Sheet2&=ocxGet(NewBook2&,"Sheets","BankDaten")
VAR Range2&=ocxGet(Sheet2&,"Range","B6")
SetText Elemente&[3], GetText$(Elemente&[3])+"Exceldateien wurden geöffnet..."
'BankDaten kopieren
ocxMethod(Sheet1&,"Activate")
ocxMethod(Range1&,"Copy")
ocxMethod(Sheet2&,"Activate")
ocxMethod(Range2&,"PasteSpecial",)
SetText Elemente&[3], GetText$(Elemente&[3])+"Bankdaten wurden kopiert..."
'KAP_Fiku kopieren
Sheet1&=ocxGet(NewBook1&,"Sheets","KAP_Fiku")
Range1&=ocxGet(Sheet1&,"Range","A1:AA1000")
Sheet2&=ocxGet(NewBook2&,"Sheets","KAP_Fiku")
Range2&=ocxGet(Sheet2&,"Range","A1")
ocxMethod(Sheet1&,"Activate")
ocxMethod(Range1&,"Copy")
ocxMethod(Sheet2&,"Activate")
ocxMethod(Range2&,"PasteSpecial",)
SetText Elemente&[3], GetText$(Elemente&[3])+"FIKU-Daten wurden kopiert..."
'KAP_Priku kopieren
Sheet1&=ocxGet(NewBook1&,"Sheets","KAP_Priku")
Range1&=ocxGet(Sheet1&,"Range","A1:AA1000")
Sheet2&=ocxGet(NewBook2&,"Sheets","KAP_Priku")
Range2&=ocxGet(Sheet2&,"Range","A1")
ocxMethod(Sheet1&,"Activate")
ocxMethod(Range1&,"Copy")
ocxMethod(Sheet2&,"Activate")
ocxMethod(Range2&,"PasteSpecial",)
SetText Elemente&[3], GetText$(Elemente&[3])+"PRIKU-Daten wurden kopiert..."
'KAP_betreut kopieren
Sheet1&=ocxGet(NewBook1&,"Sheets","KAP_betreut")
Range1&=ocxGet(Sheet1&,"Range","A1:AA1000")
Sheet2&=ocxGet(NewBook2&,"Sheets","KAP_betreut")
Range2&=ocxGet(Sheet2&,"Range","A1")
ocxMethod(Sheet1&,"Activate")
ocxMethod(Range1&,"Copy")
ocxMethod(Sheet2&,"Activate")
ocxMethod(Range2&,"PasteSpecial",)
SetText Elemente&[3], GetText$(Elemente&[3])+"KAP-Daten Betreuer/Berater wurden kopiert..."
'Exceldateien und Excel schließen
ocxPut(NewBook1&,"Saved",1)
ocxMethod(NewBook1&,"Close")
Sheet2&=ocxGet(NewBook2&,"Sheets","Inhalt")
Range2&=ocxGet(Sheet2&,"Range","A1")
ocxMethod(Sheet2&,"Activate")
ocxMethod(NewBook2&,"Save")
ocxPut(NewBook2&,"Saved",1)
ocxMethod(NewBook2&,"Close")
ocxMethod(Excel&,"Quit")
ocxRelease(Range1&,Sheet1&,NewBook1&)
ocxRelease(Range2&,Sheet2&,NewBook2&)
ocxRelease(WorkBooks&,Excel&)
ocxDeInit()
SetText Elemente&[3], GetText$(Elemente&[3])+"Exceldateien gespeichert und Excel beendet..."
endproc
cls
datenkopieren
wa t
end
BTW: ¿Cómo se puede uno eigentlich Code como solchen kennzeichnen? Irgendwie komme I, con el neuen Umgebung hier no wirklich klar. Auch el Cita klappt no... |
| | | Schöne Grüße aus Wittgenstein von Stephan
Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz | 01.10.2010 ▲ |
| |
| | Jörg Sellmeyer | Einfach el código en [ code] hier el Code [ /code ] "einwickeln". Natürlich sin la Leerzeichen. Und el Cita scheint tatsächlich no a trabajo. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 01.10.2010 ▲ |
| |
| | | [offtopic]Yo habe todavía no Toolbar para el Beitragseditoren producido (se natürlich nachgeholt), por lo tanto es uno a Tiempo bisl doof como ahahahber Yo lo veces gepackt ne Página herzustellen wo auch todos Kommandos gelistet voluntad puede [...] .[/offtopic] |
| | | | |
| | Uwe ''Pascal'' Niemeier | Hi Stephan!
Sollte eigendlich klappen... Bist du sicher, daß el Archivos wirklich gefunden voluntad? Trag doch veces a Testzwecken el Pfade direkt en el código una. $PROGDIR liefert sí el Pfad para Ordner con Interpreter oder Runtime, no a el Ordner, en el el Code liegt.
SeeYou Pascal |
| | | | |
|
RespuestaTema opciones | 29.336 Views |
ThemeninformationenDieses Thema ha 7 subscriber: |