Forum | | | | Christof Neuß | Salut,
brauche la fois wieder une Anschubser. und dir tout autor, dass je une Bereich aus einer Exceldatei dans un autre Exceldatei kopieren voudrais. Eigentlich entier simple, mais...
je habs la fois so probiert, mais déjà beim "Select" springt mir cela Ding raus. eh, äähh... qui ici sommes naturellement dessus angegeben, sonst gehts oui gar pas.
$H Windows.ph
$H ocx3a.ph
$I ocx3a.inc
Proc DatenKopieren
Excel öffnen
ocxInit()
VAR Dossier1$ =$PROGDIR+"GGBVSDialog.xls"
VAR Dossier2$ =$PROGDIR+"GGBVSDialog_Auswertung.xlsx"
VAR Excel& =ocxCreate("Excel.Application")
VAR Workbooks&=ocxGet(Excel&,"Workbooks")
Exceldatei qui banque öffnen GGBVSDialog.xls
VAR NewBook1&=ocxMethod(Workbooks&,"Open",Dossier1$)
VAR Sheet1&=ocxGet(NewBook1&,"Sheets","BankDaten")
VAR la gamine1&=ocxGet(Sheet1&,"Range","B6:F100")
Exceldatei qui GGB öffnen GGBVSDialog_Auswertung.xlsx
VAR NewBook2&=ocxMethod(Workbooks&,"Open",Dossier2$)
VAR Sheet2&=ocxGet(NewBook2&,"Sheets","BankDaten")
VAR la gamine2&=ocxGet(Sheet1&,"Range","B6")
BankDaten kopieren
ocxMethod(Sheet1&,"Activate")
ocxMethod(Sheet1&,"Select","B6:F100")
qui Messagebox sollte seulement Montrer, si qui Select-Befehl funktioniert hat,
alors pas avec Fehlermeldung là rausgesprungen est. Soweit venez cela Ding
mais gar pas.
MessageBox("Select gelaufen","Meldung",0)
ocxMethod(Sheet1&,"Copy")
ocxMethod(Sheet2&,"Select","B6")
ocxMethod(Sheet2&,"PasteSpecial",)
Exceldateien et Excel schließen
ocxPut(NewBook1&,"Saved",1)
ocxMethod(NewBook1&,"Close")
ocxMethod(NewBook1&,"Save")
ocxPut(NewBook2&,"Saved",1)
ocxMethod(NewBook1&,"Close")
ocxMethod(Excel&,"Quit")
ocxRelease(la gamine1&,Sheet1&,NewBook1&)
ocxRelease(la gamine2&,Sheet2&,NewBook2&)
ocxRelease(WorkBooks&,Excel&)
ocxDeInit()
endproc
eh, qui Sheets sommes dans beiden Fichiers juste aufgebaut. sur Formatierungen etc. braucht on alors aucun Rücksicht prendre. avec qui ersten Dossier volonté qui données beim Kunden abgeholt, dans qui zweiten sommes zusätzlich qui Auswertungsblätter.
merci |
| | | | |
| | |
=== SORRY!!!! === Hatte den Beitrag irgendwie sous Comprend erstellt. Kriege je là aussi pas plus weg, ou bien? c'est pourquoi ici encore la fois.
ne...aucune Problem, bientôt peux on sa Sujets aussi beliebig Déplacer, je crois "Löschen" hättest Du den Beitrag sous Comprend cependant peut. (andernfalls muss je nochmal ran) Habe dortigen Beitrag simple "entfernt". ^ ^
Zum Code peux je wenig dire, bof, je vois "unbekannte" Escapesequenzen. ^ ^ |
| | | | |
| | Christof Neuß | là suis je encore la fois.
Thema erledigt. je habs par essayer lösen peut. quelquefois hilft simple une récréation. après gehts besser. Den Fil ici mets doch quelqu'un sur "erledigt", ou bien muss/peux je cela irgendwo faire?
ah oui, Eines intéressé mich déjà encore. Bekommt cela XProfan-Programme eigentlich une Rückmeldung de den abgesetzten ocx-Befehlen et arbeitet seulement ensuite plus ou bien volonté qui simple dans qui Queue geschmissen? Hintergrund qui Frage: Muss je un "Sleep" einbauen, si je z.B. une grand Exceldatei avec "Save" Sauver lasse et cela quelques Zeit dauert ou bien peux je mir cela sparen?
Wens intéressé, ici ist qui Code: KompilierenMarqueSéparation
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
merci. |
| | | | |
| | | Zum OCX-Thema sais je pas, si es là un "Ready-" ou bien "Busy-State" gibt. Um Thema comme erledigt trop markieren, simple à gauche dessus sur den Button "Thema: ..." klicken et [X] Aktiv-Häkchen entfernen et Sauver. ^ ^ |
| | | | |
| | Uwe ''Pascal'' Niemeier | allô Christof!
Bekommt cela XProfan-Programme eigentlich une Rückmeldung de den abgesetzten ocx-Befehlen et arbeitet seulement ensuite plus ou bien volonté qui simple dans qui Queue geschmissen? Hintergrund qui Frage: Muss je un "Sleep" einbauen, si je z.B. une grand Exceldatei avec "Save" Sauver lasse et cela quelques Zeit dauert ou bien peux je mir cela sparen?
cela venez sur qui Funktion à. Pour meiner Erfahrung travailler qui meisten Methoden asynchron, d.h. cela Hauptprogramm fonctionne plus, au cours de qui Funktion encore arbeitet. cela peux beim Sauver de grand et/ou bien mehreren Fichiers trop Problemen mener. tout autor gibt es comment iF déjà sagte souvent une State- ou bien Busy-Abfrage.
un möglicher Workaround wäre, pour Absetzen des Schreibbefehles dans einer Boucle qui Taille qui Dossier trop überprüfen; bekommt on au cours de des Schreibvorganges keinen Zugriff (FileSize= -1; Fehlermeldungen ausschalten), ist qui Dossier encore pas fertig. si on qui Sollgröße qui Dossier kennt, peux on pour dem écrivons aussi vérifier, si qui Dossier vollständig ist et peut-être den Vorgang wiederholen.
Comme je le disais, cela hängt vom verwendeten ActiveX-objet (Excel, HTML, Zip, db usw.) ab. Im Zweifelsfall alors ausprobieren!
HTH Pascal |
| | | | |
| | Christof Neuß | allô Pascal,
merci pour qui Hinweise. sommes hilfreich. Que le FileSize muss je la fois ausprobieren. jusqu'à maintenant J'ai eu un Sleep incorporé, mais là qui Fichiers unterschiedlich grand sommes et/ou bien cela System aussi la fois plus rapide et la fois langsamer ist, verschenkt on Zeit ou bien on mais est pas sûrement, dass alles gespeichert ist. |
| | | | |
| | | allô Christof,
je bekomme chez qui la ligne VAR NewBook1&=ocxMethod(Workbooks&,"Open",Dossier1$) stets une Fehlermeldung CallMethod faute $-7FF5FC14-2146827284 unbekannter faute
et après stürtzt cela Programme ab...
environnement: WIN7, XPROFAN12ß14, gilt mais aussi pour XPROFAN11.2 |
| | | | |
| | | Ist naturellement tant pis, dass qui dans Codes angegebenen Excel-Fichiers pas hochgeladen wurden z.B. avec Demodaten. @Invité: peux Du s'il te plaît une kompletten Code avec dazugehöriger Excel-Dossier hochladen sodass qui Absturz einfacher nachvollziebar ist? |
| | | | |
| | Stephan Sonneborn | Hi David,
je wars... je hatte oublier qc, mich anzumelden et ensuite était qui poste aussi déjà drin...
alors, qui Quellcode ist qui, den Christof posté hat. jusqu'à sur qui données. ce sont 2 eigene Test-Fichiers gleichen Inhalts.
KompilierenMarqueSéparation $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: comment peux on eigentlich Code comme solchen kennzeichnen? Irgendwie viens je avec qui neuen environnement ici pas wirklich bien sûr. aussi cela Citation klappt pas... |
| | | Schöne Grüße aus Wittgenstein von Stephan
Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz | 01.10.2010 ▲ |
| |
| | Jörg Sellmeyer | simple den Code dans [ code] ici qui Code [ /code ] "einwickeln". Bien sûr sans qui Leerzeichen. et cela Citation scheint réellement pas trop marcher. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 01.10.2010 ▲ |
| |
| | | [offtopic]j'ai encore aucun Toolbar pour qui Beitragseditoren hergestellt (wird naturellement nachgeholt), tout autor steht on zur Zeit bisl doof là ahahahber j'ai es la fois emballé ne page herzustellen wohin aussi alle Kommandos gelistet volonté peut [...] .[/offtopic] |
| | | | |
| | Uwe ''Pascal'' Niemeier | Hi Stephan!
Sollte eigendlich marcher... es du sûrement, qui qui Fichiers wirklich trouvé volonté? Trag doch la fois trop Testzwecken qui Pfade direct dans den Code un. $PROGDIR liefert oui den Pfad zum Dossier avec Interpreter ou bien Runtime, pas trop dem Dossier, dans dem qui Code liegt.
SeeYou Pascal |
| | | | |
|
répondreOptions du sujet | 29.387 Views |
Themeninformationencet Thema hat 7 participant: |