Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  5 6 7 8 9 10 11 12 13   další » ... 15

Ahoj Petře. Možností je moc. Např.
- Je to jistě v EXCELu ??? Nemáš to kompilovanou aplikaci ... jen nevím jak to spouštíš, když musíš povolit makra, a nebo to máš vše vypnuté ??? Při startu z plánovače je vhodné zadávat jmeno a heslo pod kterým se úloha bude spouštět. Je to jako bys vytvořil separe instanci WIN. Takže i oprávnění s dalšími ... PLC ... musí být v pořádku.
- Máš jistotu, že zamrzne VBA. Co když Ti mrzne výstup z PLC. Nestačí občas resetovat komunikaci ??? Jen mě napadlo, když jen čteš, jestli se na PLC na něco nečeká, a pokud nic nedostane, pak funguje jen do naplnění a pak přestane komunikovat, protože je plný. To by odpovídalo tomu, že po odpojení Excelu od PLC dojde vlastně zrušení komunikace a navázaní nové.
- V plánovači taky můžeš spouštět jen batku ve které si ošetříš co a jak spouštět ... třeba přes [START /d:"cesta" /max app.exe /parametr] - já to preferuji ... nemusím vstupovat do ovl. pan. a navíc do batky se toho taky vleze více :). Pokud to nejde, pak máš možnost k programu nadefinovat PIF soubor a v něm to upravit podle požadavku. Taky je možné použít parametry excelu ... nevím název - možná že tam taky něco bude
- DDE jede přes "win_message" ... možná by stačilo volat po každém příkazu DDExxx navíc ProcessMessage apod.
- Z WIN_API bych doporučil ještě LastError32 nebo tak nějak. Je v něm číslo poslední chyby. Pokud Ti to zmrzne pak by toto číslo mohlo napovědět co se stalo.
- Těch možností proč to nejede vidím spoustu ... chce to nějak logovat celý proces a koukat se co se děje. Strašně špatně se to hledá. Nestabilita byla jedinný důvod proč jsem to zavrhnul. Zkus se taky podívat do doplňku, jestli v systému máš zaregistrovaný objekt PLC servru a co jsou zač - podle názvu objektu. Je možné aktivovat doplněk PLC servru a pomocí něj vyrobit Tvou aplikaci. U toho je ale problém, že z doplňku nepoznáš, jaké jsou tam procedury, funkce apod. Na to funguje ... co znám ... postup jak s tím vyd..at. V Delphi si najdeš tento doplněk a necháš si vygenerovat popis všech procedur, funkcí a konstant. Tyto jména můžeš použít ve VBA ... CreateObject ... bla bla + odkazování tečkou na vlastnosti objektu. Styl zápisu je jiný ale jména procedur apod. jsou stejné. To neplatí jen pro tento případ, ale pro případ všech doplňků apod. V podstatě můžeš z Excelu ovládat celý svůj PC ... :-)
- jen plácám ... uvažuji přes klávesnici. Ahoj. R.

Ahoj. Asi Ti moc neporadím. S DDE jsem pracoval před dlouhou dobou, a bylo to velmi, velmi nestabilní a nespolehlivé. Docela rychle jsem s tím přestal. Nejvíce mi vadilo, že jsem u I/O neměl stavy. To posílání taky nebylo nejlepší. Přešel jsem na DCOM ale v Delphi. Možná, že ve verzi Ex. 2003 a 2007 už to bylo lepší. Zkus si spustit správce úloh a nechej jej stále puštěný. Je možné, že se špatně uvolňuje paměť. Pak by se nějaké vlakno nabumbrlíkovalo pamětí do určité míry něž se restartuje, nebo než Ti spadne apod. Taky se podívej, jestli nemusí být někde Set xxx = nothing apod. DDE není přímo ve VBA ... je to jen volání z VBA a dále volání WinAPi. Pokud Ti to jede dlouho a pak lehne, pak bych se zaměřil na vytváření a uvolňování obj. R.

Zkus t5eba toto ...
Private Sub PridejTlacitko()
dim B as Object
with range("A20:B23")
Sat B = ActiveSheet.Buttons.add(.left,.top,.width,.height)
end with

Width b
.Name = "But_click"
.OnAction = "MojeMakroNaSmazani"
.Characters.text = "Smazat"
end with
End Sub

To myslíš vážně ??? ... Stačí přepsat ... OpenAfterPublish:=True

Zkus UPDATE OFF ... a doinstaluj všechny balíčky týkající se Ofic. Ještě si pamatuji, že jsem někde četl (nemůžu to najít) že někdo měl problém s makry a na konci se přišlo na to, že neměl nainstalované celé offic, jen nějaký výběr. Já při instalaci office vždy vyberu vlastní instalaci a pak zvolím úplně vše nainstalovat spustit z HDD - nebo tak nějak. Pravd 7ičky nemám. R.

To je proto, že jste vyměnila data a aktualizovala tabulku. Pak jste dodala ... třeba stejné data ... Do Konti tabulky se Vám to načetlo jako nová hodnota, byť stejná. Řešením jsou dvě. Můžete znovu sestavit pivot tabulku. Můžete tabulku vytvářet přes makro pokaždé znovu. Ještě je nějaká funkce nebo procedura, která umí vymazat z pivot cache aktuální hodnoty. Zapoměl jsem jak se jmenuje. Bylo by řešením tuto funkci zavolat a pak zavolat aktualizaci pivot tabulky. R.

Široký pojem. Zkusil si otevřít VBA a nějaké spustit a krokovat ??? Nepoužíváš třeba doplněk který je v bloku On Error Resume Next a v bloku je chyba která celý proces zastaví apod. Něco zkus a pak napiš.

Ahoj.
Přímo Excel odpoutat nelze ... můžeš si ale vytvořit v DELPHI aplikace které se bude podobat Excelu. Na to prvky udělané jsou. Je to ale docela pracné. Na druhou stranu stejně jsou ty prvky nějaké DCOM obj v regisru. Stejně je musíš spustit v rámci své aplikace a jako k interface k nim přistupovat. Takže si myslím, že je jedno jestli budeš pracovat s free DCOM nebo s Excelem. Excel je také zaregistrován v DCOM a můžeš jej volat z jiného programovacího jazyka. Takže je to pořád stejné (obrazně).Excel taky můžeš spustit aniž by kdokoli věděl, že je spuětěný ... vidíš jej jen ve vláknech. A pokud Ti vadí EXCEL na pozadí Tvého formuláře tak je možné také Excel skrýt a nechat jen formulář. Na to stačí při startu makra (při otevření souboru a povolení maker) Excel.Aplication.Visible = false a po uložení a PŘED CLOSE dát Excel.Aplication.Visible = true. Excel je dobrý ... a ušetří ti spoustu práce ... aplikace jsou na ho... protože životnost je velmi malá ... a než ji doděláš tak může být po smrti. R.

Ahoj. V MS O je také VBA. Pokud budeš mít obě app otevřené, můžeš mezi němi posílat zprávu s daty (použij Widlí API). Nebo ovládej z Outluku přes Create.Object Excel. Pokud né, pak v Outluku udělej ze zpráv textový soubor a ten pak otevři v Excelu. Nebo to nacpi do DB. To je jedno. Máš hodně možností.
VBA v Outluku je stejné. R.

Ahoj ... pokud by Ti nevadilo, že místo ENTER budeš mačkat CTRL + SHIFT + ENTER pak já používám na startování různých maker tuto proceduru kterou musíš mít v CODE listu který je zobrazen. Při odchodu to musíš deaktivovat a při příchodu aktivovat, jinak to havaruje !!! Používám to podle sloupců ... tj. podle toho kde stojíš s aktivní buňkou se spustí odpovídající makro ... nejsem myšoid. Pokud v listu máš více maker, které Ti dělají služby je vhodné je pod Ty sloupce dodat. Není to můj výmysl ... je to převzato z nejlepšího tabulkového kalkulátoru všech dob C602 (DOS) ;-)
Ještě jsem Tě chtěl upozornit že spouštění CTRL + ENTER je v EXCELU definováno a tak je nepoužívej.

'-------------------------------------------------------------------------------'
Private Sub call_proc()
If ActiveWorkbook.Name = cFile And ActiveSheet.Name = cWorkSestava Then
Select Case ActiveCell.Column
Case 2
If MsgBox("Vymazat zakázky kde plnìní = 0 ???", vbYesNo + vbDefaultButton2, "Otázka ...") = vbYes Then
MsgBox "Čekám na TEBE ... brouku ve sloupci B :)"
Call MojeProcedura_B
End If
Case 3
If MsgBox("Vymazat uzavøené zakázky ???", vbYesNo + vbDefaultButton2, "Otázka ...") = vbYes Then
MsgBox "Čekám na TEBE ... brouku ve sloupci B :)"
Call MojeProcedura_C
End If
Case Else

End Select
End If
End Sub
'-------------------------------------------------------------------------------'
Private Sub Worksheet_Activate()
If ActiveWorkbook.Name = cFile And ActiveSheet.Name = cWorkSestava Then
Application.OnKey "^+{RETURN}", "call_proc"
End If
End Sub
'-------------------------------------------------------------------------------'
Private Sub Worksheet_Deactivate()
Application.OnKey "^+{RETURN}", ""
End Sub
'-------------------------------------------------------------------------------'

Děkuji. Vypadá to hezky. R.

Pokud Tě něco vyloženě nenutí, psát to ve VBA, pak velmi jednoduché řešení je označit oblast dat (musíš pojmenovat sloupce),kliknout na Kontingenční tabulku. První sloupec budou hodnoty a druhý výpočet. Výpočet (nastavení pole hodnot) nastavíš na aritmetický průměr.
Pokud to chceš ve VBA pak je více způsobů ... včetně vytvoření kontingenční tabulky.R.

To by se mi mohlo taky líbit. Můžeš poslat vzorek ??? R.

Myslím si, že to má spojitost s FPU. Všechny reálná čísla se zpracovávají právě přes FPU a FPU na zpracování používá stavové slovo. Instrukce nějaká FC...??? nevím. V tomto slově záleží na nastavení bitů, které znamanají příznak jak má nakládat s čísly. Např je zaokrouhlování bankovní tj. 5 jednou nahoru a pak dolu podle předchozího čísla (sudé, liché). Mimo jiné je možné nastavit, zda nula je kladná, neno neutrální. Z toho co je ve výsledku vyplývá, že Excel, nebo widle mají nulu neutrální a ostatní zaokrouhlování je jen dolů. Pokud Ti to nezpůsobí problémy s navigací ve vesmíru(bez urážky :) ), tak bych na to buď zapoměl a nebo si vyrobil pro zaokrouhlování vlastní DLL knihovnu, kterou bys musel napsat v ASSEMBLEWRU a nastavit si pro FPU své vlastní stavové slovo. Ještě mě napadlo, že stavové slovo pro FPU by mohlo být někde v registrech. R.

Sub pokus()
Dim i As Long
Dim A As Variant
A = Array(-5.545, -4.545, -3.545, -2.545, -1.545, -0.545, 0.545, 1.545, 2.545, 3.545, 4.545, 5.545)
For i = 0 To UBound(A)
Debug.Print Round(A(i), 2)
Next i
End Sub

Výsledek

-5,54
-4,54
-3,54
-2,54
-1,54
-0,55
0,55
1,54
2,54
3,54
4,54
5,54

Myslím, že stačí se nejdříve postavit na buňku níže a pak vložit obrázek. On se vloží podle levého horního rohu aktivní buňky a levého horního rohu obrázku.
Zkus se raději podívat na OMNIPAGE 17 nebo podobný soft. R.


Strana:  1 ... « předchozí  5 6 7 8 9 10 11 12 13   další » ... 15

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje