mojaSymfonia FORUM
https://forum.mix-soft.pl/

Projekt VBA - zdalne uruchomienie
https://forum.mix-soft.pl/viewtopic.php?f=15&t=5710
Strona 1 z 1

Autor:  kris_s [ 2014-04-08, 13:23 ]
Tytuł:  Projekt VBA - zdalne uruchomienie

Witam,

Istnieje potrzeba uruchomienia tego samego projektu VBA w kilkudziesięciu firmach. Obecnie, żeby to wykonać, trzeba logować się z interfejsu do każdej z firm z osobna i uruchomić dany projekt. Czy można jakoś uruchomić projekt VBA spoza FKF przy użyciu jakiegoś "cichego" logowania do modułu FKF? Rozwiązanie coś na kształt tego, które jest możliwe dla HMF (logowanie do firmy np. z aplikacji .NET przy użyciu HMFApp.ini). Lub jakieś alternatywne rozwiązanie, które umożliwi odpalenie projektu VBA bez konieczności logowania z interfejsu do każdej firmy z osobna.

Pozdrawiam,
Krzysztof

Autor:  rafal [ 2014-04-08, 14:12 ]
Tytuł:  Re: Projekt VBA - zdalne uruchomienie

z linii poleceń
Kod:
amfksql.exe -firma "Driver=SQL Server;Server=127.0.0.1;Database=FK_DEMO;" -user "Admin" -passwd ""

Autor:  rapkar [ 2014-06-23, 17:08 ]
Tytuł:  Re: Projekt VBA - zdalne uruchomienie

Powyższe polecenie niestety tylko odpali program i zaloguje się do firmy... :( a co dalej?

ja mam ten sam problem. Kilkadziesiąt firm i uporczywe przelogowywanie mnie dobija.
Regularnie odpalam projekt "Dane do Analiz Finansowych VBA" i "Wiekowanie". Nie wierzę, że nie da się któregoś z tych projektów odpalić automatycznie lub wykonać tego samego bez środowiska FKF? np. bezpośrednio na bazie sql?

Proszę o pomoc

Autor:  rafal [ 2014-06-23, 17:54 ]
Tytuł:  Re: Projekt VBA - zdalne uruchomienie

W raportach cnv możesz odpalać przy uruchomieniu programu

Kod:
dispatch app = GetApplication()


doc = App.Documents.OpenDocument("Dane do Analiz....")

Autor:  rapkar [ 2014-06-23, 21:13 ]
Tytuł:  Re: Projekt VBA - zdalne uruchomienie

super, tylko jest jedno ale... w dalszym ciągu muszę ustawiać parametry i zmieniać katalog dla każdej z firm, żeby nie nadpisywać plików. Chyba że raport mogę wywołać od razu z parametrami? i zatwierdzić jego wykonanie? (nie, to byłoby zbyt piękne :))

Z góry dzięki

Autor:  rafal [ 2014-06-24, 09:15 ]
Tytuł:  Re: Projekt VBA - zdalne uruchomienie

rapkar pisze:
super, tylko jest jedno ale... w dalszym ciągu muszę ustawiać parametry i zmieniać katalog dla każdej z firm[...]


Co to znaczy?

Autor:  rapkar [ 2014-06-24, 10:32 ]
Tytuł:  Re: Projekt VBA - zdalne uruchomienie

mówię o tym:
Załącznik:
fkfdoanaliz01.jpg
fkfdoanaliz01.jpg [ 38.04 KiB | Przeglądany 5599 razy ]

nie można tego zautomatyzować, bo i tak każde uruchomienie wymaga ode mnie podania nowej ścieżki (odpowiedniej dla danej firmy) i kliknięcia Wykonaj

Autor:  rafal [ 2014-06-24, 10:55 ]
Tytuł:  Re: Projekt VBA - zdalne uruchomienie

Zmodyfikuj sbc

Przekazanie parametrów jest opisane tu -> viewtopic.php?p=346#p346

Zmień funkcję Run() w taki sposób żeby ścieżka była pobierana z AmBasica oraz, żeby automatycznie wciskał się ENTER przed pokazaniem formy.

Kod:
Public Sub Run()
   [...]
             
    If filepath.Text = "" Or Not fso.FolderExists(filepath.Text) Then
        Set WshShell = CreateObject("WScript.Shell")
        DocumentsPath = WshShell.SpecialFolders("MyDocuments")
        filepath.Text = ClientField("filepath")
    End If

  [...]
   
    Set mojWshShell = CreateObject("WScript.Shell")
    mojWshShell.SendKeys ("{ENTER}")
   
    Me.Show
   
End Sub


i już jest zautomatyzowane

Autor:  rapkar [ 2014-06-24, 12:54 ]
Tytuł:  Re: Projekt VBA - zdalne uruchomienie

Automatyczny ENTER - super :) Widzę dla siebie światełko w tunelu :D

co do ścieżki zapisu, Twój kod:
Kod:
filepath.Text = ClientField("filepath")

generuje błąd niezdefiniowana funkcja ClientField()

Ale zrozumiałem radę :) i mnie urządza w zasadzie:
Kod:
filepath.Text = "C:\daneAF\" + WybranaFirma.NazwaSkrocona + "\"


Po modyfikacji raportu przy każdym uruchomieniu dostaję komunikat i pytanie:
Cytuj:
Dokument "(...)Dane do Analiz...sbc" nie pochodzi z bezpiecznego źródła!
Czy makra mają być aktywne?

można coś z tym zrobić?

A jak zamknąć po eksporcie raport?
Gdyby można było jeszcze przelogować do kolejnej firmy z listy... :mrgreen: :)
albo wylogować i zamknąć program po zakończeniu raportu to byłbym już w domu, bo wystarczyłoby np. o 2 w nocy automatem wrzucić raport do \cnv\ i odpalać np. co 5 min kolejną firmę (do 6 miałbym wszystko zrzucone), a na koniec zanim pracownicy rozpoczną pracę usunąć plik z cnv

Autor:  rafal [ 2014-06-24, 13:13 ]
Tytuł:  Re: Projekt VBA - zdalne uruchomienie

Kod:
element.clientfield("filepath")

Autor:  rapkar [ 2014-06-24, 15:14 ]
Tytuł:  Re: Projekt VBA - zdalne uruchomienie

o proszę :)
widzę, że zamknąć raport po zakończeniu da się umieszczając w Document_Open():
Kod:
Element.CloseDoc True


Gdybym jeszcze wiedział jak zamknąć aplikację, lub przelogować firmę... Da się w ogóle to zrobić?

Autor:  wrob [ 2014-06-25, 15:40 ]
Tytuł:  Re: Projekt VBA - zdalne uruchomienie

A nie prosciej sobie te raporty bezposrednio napisac w SQL? - profajlerem wylap zapytania ktore one generuja - dla wiekowanie to wogole jedno zapytanie chyba - i sobie uruchamiaj go z SQL agenta albo zrob sobie modul integration services ktory ci to zalatwi full automatycznie

Autor:  rafal [ 2014-06-26, 00:35 ]
Tytuł:  Re: Projekt VBA - zdalne uruchomienie

Na pewno nie prościej.
Ale w przypadkach gdzie już inaczej się nie da to może być jedyne wyjście.

Autor:  rafal [ 2014-06-26, 00:47 ]
Tytuł:  Re: Projekt VBA - zdalne uruchomienie

rapkar pisze:
[...]
Po modyfikacji raportu przy każdym uruchomieniu dostaję komunikat i pytanie:
Cytuj:
Dokument "(...)Dane do Analiz...sbc" nie pochodzi z bezpiecznego źródła!
Czy makra mają być aktywne?

można coś z tym zrobić?[...]


Ustaw odpowiedni poziom zabezpieczeń makr VBA -> Zabezpieczenia Sage sp. z o.o.

Załącznik:
vbazabezp01.jpg
vbazabezp01.jpg [ 100.3 KiB | Przeglądany 5598 razy ]

Strona 1 z 1 Strefa czasowa UTC+1godz. [letni]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/