ARKANCE - globální Platinum partner Autodesk ARKANCE | KONTAKT - CZ | SK | EN | DE
Registrujte se na 22. ročník konference CADfórum 2025 - 30.9. Zámek Valeč.
Přes 119.000 registrovaných u nás, celkem 1.097.000 registrovaných (CZ+EN), přes 53.000 CAD/BIM bloků. Vyzkoušejte nový přesný Inženýrský kalkulátor a aktualizovaný Generátor čarových kódů.
Autodesk Product Design & Manufacturing Collecion - nástroje pro vývoj a výrobu
RSS kanál - CAD tipy RSS tipy
RSS diskuze

Diskuze Diskuzní fórum, poradna

?
CAD diskuze, rady, výměna zkušeností

CAD Fórum - Homepage Veřejné diskuzní fórum k CAD aplikacím - ptejte se na libovolné otázky týkající se oboru CAx, podělte se o vaše znalosti a zkušenosti s programy AutoCAD, Inventor, Revit, Fusion, 3ds Max, Vault a s dalšími CAD/BIM/PDM aplikacemi. Zaregistrujte se nebo se přihlašte a zašlete váš příspěvek do odpovídajícího fóra. Viz další informace o CAD Fóru. Nechcete se registrovat? Zeptejte se v naší Facebook poradně.
Fórum nenahrazuje technický support firmy ARKANCE (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.arkance-systems.cz
  FAQ FAQ  Prohledat fórum   Události   Registrovat Registrovat  Přihlásit Přihlásit

Téma uzavřenoVBA příkaz SendKeys a WIN64bit nefunguje

 Odpovědět Odpovědět archiv
Autor
Petr A Zobrazit panel
Diskutér
Diskutér

Přihlášen: 10.říj.2004
Lokalita: ČR (Pha)
Používám:
autocad
Stav: Offline
Bodů: 26
Přímý odkaz na tuto zprávu Téma: VBA příkaz SendKeys a WIN64bit nefunguje
    Zasláno: 17.led.2012 v 11:36
Dobrý den, mám prográmek na tisk vícestránkového dwf pomocí příkazu "publish" nebo "publikuj"
Program v 32bit systému fungoval, v 64 bitovém ne. Nejspíš je chyba v nefunkčnosti příkazu SendKyes".


Popis části prográmku:

Na disku mám vytvořen soubor xyz.dsd.
V programu mám řádky:
    DOC.SetVariable "FILEDIA", 0
    DOC.SetVariable "BACKGROUNDPLOT", 0
    DOC.SendCommand ("-publikuj" & vbCr & xyz.dsd)

‘v příkazovém řádku se objeví: -publikuj a nic víc
‘nebo pokud procházím program krok po kroku (F8) tak se v příkazovém řádku objeví: Zadejte název seznamu listů: E:\DWF\xyz.dsd (což je správně)

    SendKeys "{ENTER}", True
‘ a zde by mělo dojít k vykonání předchozího příkazu, ale nedojde, program jede dále, ale příkaz se nevykoná.

Funguje v ACAD2007,2010,2012 32 bit
Nefunguje v ACAD2010, 2012 64 bit

Můžete mi prosím pomoci? Potřebuji tisknout vícestránkové dwf a pdf soubory (tj z modelu a jednotlivých Layoutů) - třeba existuje i jiná cesta než "publish"?

Vím, že VBA nen již moc podporováno, ale k přeprogramování celého programu se chystáme až v budoucnosti.

Děkuji Petr

Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
ARKANCE

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Implementujeme řešení Autodesk
Stav: Offline
Bodů: 21953
Přímý odkaz na tuto zprávu Zasláno: 17.led.2012 v 13:06
Nestačilo by ten ENTER resp. vbCr jen přidat do SendCommand? Tomu SendKeys bych se vyhnul, je to už z principu hodně nespolehlivá funkce.
 
Pokud to nepomůže, zkuste příkaz volat přes LISP - tedy:
.SendCommand "(command " & chr(34) & "_-PUBLISH" & chr(34) &  "....)" & vbCr
Vladimír Michl (moderátor)
ARKANCE CZ - arkance.world
(podpora viz helpdesk.arkance-systems.cz)
Zpět nahoru
Petr A Zobrazit panel
Diskutér
Diskutér

Přihlášen: 10.říj.2004
Lokalita: ČR (Pha)
Používám:
autocad
Stav: Offline
Bodů: 26
Přímý odkaz na tuto zprávu Zasláno: 17.led.2012 v 14:44
Díky, přidání VbCr do SendCommand nepomohlo,

pokud zadám do programu:
.SendCommand "(command " & chr(34) & "_-PUBLISH" & chr(34) &  "....)" & vbCr)

nebo
.SendCommand "(command " & chr(34) & "_-PUBLISH" & chr(34) &  "....)" & vbCr)
nebo
DOC.SendCommand "(command " & chr(34) & "_-PUBLISH" & chr(34) &  "....)" & vbCr)

píše Compile error (na závorce za vbCr).

Jak to mám zadat, aby to bylo správně?

Díky
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
ARKANCE

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Implementujeme řešení Autodesk
Stav: Offline
Bodů: 21953
Přímý odkaz na tuto zprávu Zasláno: 17.led.2012 v 15:45
Ta závorka za  vbCr tam nepatří. Místo těch "...." má být to co chcete sdělit příkazu PUBLISH.
Vladimír Michl (moderátor)
ARKANCE CZ - arkance.world
(podpora viz helpdesk.arkance-systems.cz)
Zpět nahoru
Petr A Zobrazit panel
Diskutér
Diskutér

Přihlášen: 10.říj.2004
Lokalita: ČR (Pha)
Používám:
autocad
Stav: Offline
Bodů: 26
Přímý odkaz na tuto zprávu Zasláno: 17.led.2012 v 17:16
dal jsem tam jakoprogramový řádek:
.SendCommand "(command " & Chr(34) & "_-PUBLISH" & Chr(34) & "xxx" & vbCr

a při spuštění mi VB dává hlášku:
Compile error: Invalid or unqualified reference

Petr
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
ARKANCE

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Implementujeme řešení Autodesk
Stav: Offline
Bodů: 21953
Přímý odkaz na tuto zprávu Zasláno: 17.led.2012 v 17:23
Neberte ten můj kód doslova - je to jen návod pro programátora. Ten SendCommand tedy ve vašem případě bude asi (celý váš kód neznám):
 
DOC.SendCommand
 
a u toho "xxx" (předpokládám, že jde o název proměnné obsahující název vašeho DSD souboru) vám chybí závorka uzavírající ten (command) - tedy "xxx)". Pokud to nemá být název LISP proměnné, ale název souboru, pak to musí být psané jako:
 
chr(34) & "nazev.dsd" & chr(34) & ")"
 
 
Vladimír Michl (moderátor)
ARKANCE CZ - arkance.world
(podpora viz helpdesk.arkance-systems.cz)
Zpět nahoru
Petr A Zobrazit panel
Diskutér
Diskutér

Přihlášen: 10.říj.2004
Lokalita: ČR (Pha)
Používám:
autocad
Stav: Offline
Bodů: 26
Přímý odkaz na tuto zprávu Zasláno: 17.led.2012 v 18:00
tak příkaz již prošel, ale výsledek je následující:
přík. řádek: (command „_-PUBLISH“dsd_dwf“)
a stojí jako dříve. (dsd_dwf je proměnná, ve kterém mám uloženu cestu k souboru *.dsd)
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
ARKANCE

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Implementujeme řešení Autodesk
Stav: Offline
Bodů: 21953
Přímý odkaz na tuto zprávu Zasláno: 17.led.2012 v 21:24
Pořád si nerozumíme - jednak tam nemáte spárované uvozovky a jednak v LISP výrazu můžete maximálně odkazovat LISP proměnné, nikoliv proměnné VBA.
 
Ten výsledný řetězec pro SendCommand musí výsledně vypadat nějak takto:
(command "_-PUBLISH" "C:/TEMP/mujsoubor.dsd")
Vladimír Michl (moderátor)
ARKANCE CZ - arkance.world
(podpora viz helpdesk.arkance-systems.cz)
Zpět nahoru
Petr A Zobrazit panel
Diskutér
Diskutér

Přihlášen: 10.říj.2004
Lokalita: ČR (Pha)
Používám:
autocad
Stav: Offline
Bodů: 26
Přímý odkaz na tuto zprávu Zasláno: 18.led.2012 v 09:36
díky za trpělivost. Jen upřesňuji. Do programu jsem zadal řádek:
DOC.SendCommand "(command " & Chr(34) & "_-PUBLISH" & Chr(34) & "e:/xxx.dsd" & Chr(34) & ")"

po provedení příkazu programem se na příkazovém řádku acadu objeví:
Příkaz: (command „_-PUBLISH“e:/xxx.dsd“)

a příkaz se nespustí tj. stejný stav jako na začátku ;-((

Petr


Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
ARKANCE

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Implementujeme řešení Autodesk
Stav: Offline
Bodů: 21953
Přímý odkaz na tuto zprávu Zasláno: 18.led.2012 v 09:39
Pořád ale máte nespárované uvozovky (a ENTER na konci).
 
Zkuste:
DOC.SendCommand "(command " & Chr(34) & "_-PUBLISH" & Chr(34) & Chr(34) & "e:/xxx.dsd" & Chr(34) & ")" & vbCr


Upravil Vladimír Michl - 18.led.2012 v 09:41
Vladimír Michl (moderátor)
ARKANCE CZ - arkance.world
(podpora viz helpdesk.arkance-systems.cz)
Zpět nahoru
Petr A Zobrazit panel
Diskutér
Diskutér

Přihlášen: 10.říj.2004
Lokalita: ČR (Pha)
Používám:
autocad
Stav: Offline
Bodů: 26
Přímý odkaz na tuto zprávu Zasláno: 18.led.2012 v 10:02
díky, již jsem zkoušel, výsledek však bohužel úplně stejný.
Zpět nahoru
Petr A Zobrazit panel
Diskutér
Diskutér

Přihlášen: 10.říj.2004
Lokalita: ČR (Pha)
Používám:
autocad
Stav: Offline
Bodů: 26
Přímý odkaz na tuto zprávu Zasláno: 18.led.2012 v 10:40
právě ten enter na konci není funkční, takže to zůstane viset. Příkaz na řádek dostaneme, ale neprovede se. Na ten vbCr na konci to neraaguje.

Petr
Zpět nahoru
Pajda Zobrazit panel
Diskutér
Diskutér

Přihlášen: 21.pro.2005
Lokalita: Czech Republic
Stav: Offline
Bodů: 13
Přímý odkaz na tuto zprávu Zasláno: 18.led.2012 v 17:19

Měl bych menší dotaz, sice není přímo k tématu,ale je ohledně funkce PUBLISH.

Lze funkci publish použít k hromadnému vykreslení souboru .plt. Zkoušel jsem publikovat rozvržení, kde byl natavený plotr a vykreslení do souboru bylo zaškrtnuté a pokaždé když jsem dal publiovat do "plotr pojmenovaný v nastavení stránky" a vždy mně to tiskne přímo na plotr. Mám dojem že mně to fungovalo u 2009 a nebo ještě ustarčí verze autocadu. Mužete mi poradit jak docílit publikovatní do *.PLT (plot soboru).  děkuji  
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
ARKANCE

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Implementujeme řešení Autodesk
Stav: Offline
Bodů: 21953
Přímý odkaz na tuto zprávu Zasláno: 18.led.2012 v 19:58
Hromadné vykreslení lze provést vytvořením kopie plotru připojeného na port "FILE:", ale pohodlnější je asi použití jiného postupu - publikováním do DWF (popř. PDF) a následným tiskem tohoto publikačního souboru.
Vladimír Michl (moderátor)
ARKANCE CZ - arkance.world
(podpora viz helpdesk.arkance-systems.cz)
Zpět nahoru
Pajda Zobrazit panel
Diskutér
Diskutér

Přihlášen: 21.pro.2005
Lokalita: Czech Republic
Stav: Offline
Bodů: 13
Přímý odkaz na tuto zprávu Zasláno: 19.led.2012 v 08:13
Děkuji tak přes připojení na port  "file" funguje, jen mám problem s některými výkresi, že mi to udělá PLT s nulovou velikosti tedy prázdné.
Co se tíče tisku do DWF nebo PDF to dělam stejně jen neumím to hromadně poslat na plotr (Goplot) a procházet jednotlivé soubory obdobně jako v prohlížeči plt ViewCompanion pokud existuji podobné aplikace co to umí nebo to lze ještě jinak rychle vytisknout např. 30 výkresů 6x. Tak bych to tak začal dělat jelikoš stejně musím mít PDF nebop DWF výstup. Ještě jednou Děkuji
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
ARKANCE

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Implementujeme řešení Autodesk
Stav: Offline
Bodů: 21953
Přímý odkaz na tuto zprávu Zasláno: 19.led.2012 v 09:44
Pomocí DWF to uděláte snadno - dávkovým tiskem v Design Review. Podrobně viz tip:
Vladimír Michl (moderátor)
ARKANCE CZ - arkance.world
(podpora viz helpdesk.arkance-systems.cz)
Zpět nahoru
Petr A Zobrazit panel
Diskutér
Diskutér

Přihlášen: 10.říj.2004
Lokalita: ČR (Pha)
Používám:
autocad
Stav: Offline
Bodů: 26
Přímý odkaz na tuto zprávu Zasláno: 19.led.2012 v 14:53
Dobrý den, ještě se vracím k nefunkčnímu příkazu SendKyes (u win7 64bit), potažmo nereagování na "Enter" na konci programového řádku, který jsme řešili s p.Michlem výše.
Nevíte o nějakém jiném způsobu jak vykreslit do dwf a pdf vícestránkový výstup z výkresu (pomocí programu)?

Díky Petr
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 9713:VIPNastavení barev komponentám výkresu Inventoru (VBA makro)
Tip 7309:VIPNefunguje report Trasa-Niveleta v AutoCADu Civil 3D 2010 CZ.
Tip 9321:VIPNefunguje mi VBA v Inventoru 2016, 2015, 2014 nebo 2013 - příčiny.
Tip 6603:V AutoCADu 2010 mi nejde načíst VBA aplikace (.DVB)
Tip 6790:VIPPřidání ikony vlastního příkazu/makra v Inventoru.
Tip 3456:Jak do AutoCADu LT načíst nadstavbovou aplikaci .LSP, .VLX, .ARX nebo VBA?


 Odpovědět Odpovědět

Přejít na fórum Oprávnění fóra Zobrazit panel



Stránka byla vygenerována za 0,273 sekund.