[ mirko1949 @ 02.09.2008. 08:48 ] @
Kako je moguce iz Forme (UserForm) pomocu dugmeta (CommandButton) navodjenjem putanje otvoriti bilo koji fajl.
Pozdrav
[ timmy @ 03.09.2008. 21:46 ] @
Dodaj kod za onclick dogadjaj dugmeta npr.

Code:

   Shell "C:\myapp.exe" , vbNormalFocus


ili da otvoris beleske u Notepad-u

Code:

    Shell "notepad C:\beleske.txt", vbNormalFocus


Pozdrav
[ mirko1949 @ 04.09.2008. 09:34 ] @
Hvala timmy
Ipak nesto ne funkcionise kako treba. Naime kad kliknem na dugme sve ostaje isto.
naveo sam najprostiju putanju:

Private Sub CommandButton1_OnClick()
Shell "C\Racun tabela.xls", vbNormalFocus
End Sub
Probao sam i sa CommandButton1_Click() i opet nista. Gde gresim.

[ Catch 22 @ 04.09.2008. 09:43 ] @
Citat:
mirko1949: Gde gresim.

Ako koristiš Shell komandu, moraš navesti i naziv aplikacije (eventualno i putanju), a ne samo fajla. Pogledaj malo bolje kod koji ti je timmy postavio...



[Ovu poruku je menjao Catch 22 dana 04.09.2008. u 12:37 GMT+1]
[ goranvuc @ 04.09.2008. 10:31 ] @
Shell nije komanda nego funkcija

Ako hoces vec da koristis Shell() funkciju onda mozes to na sledeci nacin:

Code:

Shell "cmd /C ""C:\Racun tabela.xls""", vbHide


Ovom linijom koda u stvari pozivas skriveni CommandPrompt i kazes mu da izvrsi otvaranje zadatog fajla programom koji je registrovan na sistemu kao default da ga otvori. Dok je fajl otvoren, imas i cmd.exe u procesima, a kada zatvoris fajl nestaje i cmd.exe iz liste aktivnih procesa.

Ja ti ipak preporucujem ShellExecute()
[ Catch 22 @ 04.09.2008. 12:09 ] @
Citat:
mirko1949:

Private Sub CommandButton1_OnClick()
Shell "C\Racun tabela.xls", vbNormalFocus

End Sub
Gde gresim.


Da bi izbegao dodatnu zbrku zbog razmaka u nazivu fajla, preimenuj fajl u Racun_tabela.xls
Onda probaj samo da prepraviš svoj kod ovako i proradiće

Code:

Private Sub CommandButton1_OnClick()
Shell "excel C:\Racun_tabela.xls", vbNormalFocus
End Sub



ili ako zelis da ostavis razmak u imenu fajla
Code:

Shell "excel ""C:\Racun tabela.xls""", vbNormalFocus

[ mirko1949 @ 04.09.2008. 13:47 ] @
Ovo je uspelo, ali samo sa pozivanjem dokumenata iz Excela, ali kada sam probao za Word nece. Izmenio sam kod na:
Shell "word""C:\Racun tabela.doc""", vbNormalFocus javlja mi gresku "Run time error 53" i File not found.

[ Catch 22 @ 04.09.2008. 17:52 ] @
Nisi dobro pozvao zeljeni program
Ovako radi:
Code:

Private Sub CommandButton1_OnClick()
Shell "excel ""C:\Racun tabela.xls""", vbNormalFocus
Shell "winword ""C:\Racun tabela.doc""", vbNormalFocus


End Sub

[ mirko1949 @ 10.09.2008. 11:11 ] @
Hvala na pomoći, ali i pored toga nije mi uspelo. U jednom trenutku mi je uspelo za Excel, ali za word nije, mada sam kopirao zadnje kodove.
[ Catch 22 @ 10.09.2008. 12:18 ] @
Pa moraš i da imaš navedene dokumente, pod tačno tim nazivom, na tačno toj putanji inače Excel i Word prijave grešku i otvore blanko dokumenat:

C:\Racun tabela.xls

C:\Racun tabela.doc

Simulirao sam navedenu situaciju na svom računaru i to radi, ne vidim zašto i kod tebe ne bi radilo?

[ mirko1949 @ 11.09.2008. 06:19 ] @
Primenio sam sve to. Oba dokumenta sam smestio sa nazivom "Racun tabela" direktno u C, medjutim kada kliknem na dugme u formi ne dešava se ništa, čak nejavlja nikakvu grešku. Probao sam i sa drugim putanjama za disk D, ali opet ništa. Da li eventualno postoji neka druga mogućnost.
[ Catch 22 @ 11.09.2008. 08:56 ] @
Da li se dugme u tvojoj formi se zove "CommandButton1"?

PS
Mozda bi bilo brze da okacis ovde taj svoj excel fajl pa da vidimo tacno u cemu je greska
[ mirko1949 @ 11.09.2008. 10:19 ] @
Da baš tako se zove. Evo prikacen fajl moje probe. Da dodam još da mi se direktno na disku C nalazi dokument Racun tabela.
[ Catch 22 @ 11.09.2008. 12:23 ] @
^ ?????!!!!!!
Tvoj fajl Povezivanje.xls je prazna radna sveska, sa dva prazna radna lista, nema nikakve forme, dugmadi, koda...
????
:(
[ mirko1949 @ 11.09.2008. 12:29 ] @
Nije prazna sveska. U VB (Alt+F11) je UserForm1 sa dugmetom.
[ Gix_ @ 12.09.2008. 20:57 ] @
Pozdrav za sve

Mirko u prikacenom primeru imas gresku u imenu boutona (dugmeta),
dugme tise zove CommandButton1_Click a ne CommandButton1_OnClick

Inace linija komande vrsi svoju funkciju ( Shell "excel ""C:\Racun tabela.xls""", vbNormalFocus )

Pozdrav
[ Catch 22 @ 12.09.2008. 21:27 ] @
Citat:
mirko1949: Nije prazna sveska. U VB (Alt+F11) je UserForm1 sa dugmetom.

???!!!!!
[att_img]


[ Gix_ @ 12.09.2008. 21:37 ] @
Catch normalnoje da nevidis nista blokirati komande excel 07
kod mene ista stvar sa 07
otvori sa excelom 03 i sveje OK.

Verovatno nesto oko sigurnosti makroa ???
[ Catch 22 @ 12.09.2008. 22:01 ] @
Otvaram fajl iz "Trusted Locations" gde se inače nalaze i moji excel fajlovi sa raznim kodom i makroima, ništa mi nije jasno!? Nikakvo upozorenje mi ne ispisuje!?

[att_img]

Probaću sa Excel 2002 na drugom sistemu...
[ mirko1949 @ 12.09.2008. 22:08 ] @
Neznam kako je nastala greska. Evo opet saljem fajl.

Kako da se izvede to da se zove CommandButton1_OnClick

Imam jos jedno pitanje: Kako bi glasila linija koda da se otvori npr BS player Pro file ili Movie Clip

[ Catch 22 @ 12.09.2008. 22:24 ] @
Citat:
mirko1949: Neznam kako je nastala greska. ...
Kako da se izvede to da se zove CommandButton1_OnClick

^ Greska je do Excela 2007, koji ima takve bezbednosne mehanizme da onesposobi sve zivo (!!!???)

U tvom slucaju, kako ti je vec odgovoreno, treba da pise:
Code:

Private Sub CommandButton1_Click()
Shell "excel ""C:\Racun tabela.xls""", vbNormalFocus
Shell "winword ""C:\Racun tabela.doc""", vbNormalFocus
End Sub


Evo ti primerak pa probaj (za oba fajla C:\Racun tabela.xls i C:\Racun tabela.doc)
[ Gix_ @ 12.09.2008. 22:35 ] @
nemoj razbivati glavu mislim daje nemoguce dodeliti neko ime posle povucene crte _OnClick
ako bas hoces rec On napisi ovako CmdOn_Click
za drugo pitanje recimo nesto u stilu

Aktivirati Filezilla (FTP)
Sub Bouton_Quandclick()
shell "c:/program files/filezilla/filezilla.exe"
End sub
[ Ivek33 @ 12.09.2008. 22:49 ] @
Citat:
Catch 22: ^ ?????!!!!!! Tvoj fajl Povezivanje.xls je prazna radna sveska, sa dva prazna radna lista, nema nikakve forme, dugmadi, koda... ????
Ja uredno vidim source code i user form za navedenu akciju ( u Office 2003 )
[ Catch 22 @ 12.09.2008. 22:53 ] @
^ Vidim i ja sada u Excel 2002, ali iz Excel 2007 nema ništa, pa čak ni uobičajeno upozorenje pri otvaranju fajla (???!!!!)
[ Gix_ @ 12.09.2008. 23:07 ] @
Catch kad otvaras sa 2003 daje neko cudno upozorenje za ( module classe )
verovatnoje prikaceni dokumenat je neki dokumenat modificiran vise puta i razne kode su dodavane pa brisane.
Ostalaje neka posledica koju 2007 prepoznaje kao fatalnu gresku i nedaje nikakvo upozorenje vec onemogucava
bilo kakvo izvrsavanje komandi u dokumentu .

Cao ljudi odo na spavanje.
[ Catch 22 @ 12.09.2008. 23:19 ] @
Pa i Excel 2002 ispisuje upozorenje...
[att_img]
[ Ivek33 @ 12.09.2008. 23:34 ] @
Citat:
Catch 22: Pa i Excel 2002 ispisuje upozorenje...
Meni Excel 2003 ne izbacuje nikakvo upozorenje, nakon zahtjeva omogući/onemogući Macro, otvori file sa praznim listovima a kada pritisnem ALT+F11 odmah vidim source code i user form u izborniku
[ mirko1949 @ 13.09.2008. 07:15 ] @
Hvala na pomoci. Konacno bez problema otvaram i Excel i Word dokument.

Sto se tice mog dodatnog pitanja hteo bih da recimo otvorim fajl ciji je naziv: "Picture 052.avi" i nalazi se direktno na disku C. Kako da to oznacim u liniji koda. Uopste kako se postupa sa razlicitim fajlovioma.
Gix-ov savet mi nije jasan.
Citat:
Gix_:
za drugo pitanje recimo nesto u stilu

Aktivirati Filezilla (FTP)
Sub Bouton_Quandclick()
shell "c:/program files/filezilla/filezilla.exe"
End sub
[ Gix_ @ 13.09.2008. 14:31 ] @
Re,
ovako iz glave mislim dabih trebalo napisati liniju

Private Sub CommandButton1_Click()
Shell """C:\Program Files\Windows Media Player\wmplayer.exe"" ""C:video 1.avi""", vbMaximizedFocus
End Sub

Izmedju prvih navodnica naznacis gdese nalazi program kojim zelis da otvoris tvoj fail a zatim izmedju sledecih navodnica mesto
gdese nalazi tvoj fail i njegovo ime

cao
[ mirko1949 @ 15.09.2008. 07:39 ] @
Hvala Gix. Probao sam sa MP3 i odmah otvori. kod video fajlova otvori uspesno aplikaciju, ali nece da je izvrsi. Procackacu jos malo.
Pozdrav svima
[ Catch 22 @ 15.09.2008. 11:41 ] @
^ Još je ostalo da nam odaš tajnu šta to zapravo pokušavaš da napraviš... jel nekakav katalog?
[ mirko1949 @ 15.09.2008. 12:27 ] @
Nije tajna i nije katalog. Radi se o jednoj radnoj svesci u Excelu u kojoj se vrse proracuni. Forma za unos sluzi za unosenje podataka. Medjutim, cesto je potrebno otvarati razna dokumenta pa i video (kratke) filmove (i oni sluze da bi se u njima videli neki podaci), te mislim da je najzgodnije to uraditi iz forme preko vise CommandButton-a koji daju put do tih fajlova.
pozdrav
[ Gix_ @ 15.09.2008. 22:49 ] @
Re,
palamije jedna ideja na pamet ostaje dase vidi koliko moze posluziti.

1. pri otvaranju documenta aktivirati macro komande
2. aktivirati kontrole activeX
3. ALT+F11 aktivirati referenciju za Windows Media Player (čekirati opciju) ,
prilagoditi mesto i ime za film ili muziku na HDD
4. pokrenuti formu pa reci sta mislis

Pozdrav
[ mirko1949 @ 16.09.2008. 10:02 ] @
Hvala Gix, vrlo zanimljivo resenje. na brzinu sam probao ali mi u liniji:
USF.WindowsMediaPlayer1.URL = "C:\\Luce Moje.mp3" 'Prilagoditi mesto i ime !!!
prilagodio sam ime i mesto. Probacu malo detaljnije.
[ mirko1949 @ 22.09.2008. 11:06 ] @
Hval Gix_, Probao sam tvoju formu (prilagodio sam je) i odlicno funkcionise. Jos jednom hvala.
Imam jos jedno dodatno pitanje. Ako su za Word i Excel linije kodova sledece:

Shell "excel ""C:\Racun tabela.xls""", vbNormalFocus
Shell "winword ""C:\Racun tabela.doc""", vbNormalFocus

Kako bi glasila linija da se otvori dokument u AdobeReader-u

[ Gix_ @ 23.09.2008. 08:00 ] @
Re,

Mislim da ova procedura moze da zavrsi posao.
Code:
Private Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal _
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As _
String, ByVal nShowCmd As Long) As Long
Private Const SW_SHOWNORMAL As Long = 1

Sub test()
    ShellExecute hwnd, "open", "C:\ImeTvogDokumenta.pdf", vbNullString,
vbNullString, SW_SHOWNORMAL
End Sub

Pozdrav
[ mirko1949 @ 23.09.2008. 11:34 ] @
Probao sam tvoj kod, ali nesto ne funkcioniše. Možda nisam dobro primenio, pa ako može malo detaljnije objašnjenje.
Pozdrav
[ Gix_ @ 23.09.2008. 13:12 ] @
Re,
akotije u pocetku modula ili forme napisana obavezna deklaracija variable (Option Explicit)
moras da deklaliras variablu ( hwnd ) koja je tipa Long.
Pripazi na liniju :

ShellExecute hwnd, "open", "C:\ImeTvogDokumenta.pdf", vbNullString,
vbNullString, SW_SHOWNORMAL

trebas je prepisati po celokupnoj duzini, ovako :

ShellExecute hwnd, "open", "C:\ImeTvogDokumenta.pdf", vbNullString, vbNullString, SW_SHOWNORMAL

izvini misliosam daces se snaci sam zato nisam obracao paznju na male detalje .

Pozdrav
Code:
Option Explicit

Private Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal _
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As _
String, ByVal nShowCmd As Long) As Long
Private Const SW_SHOWNORMAL As Long = 1

Sub test()
Dim hwnd As Long
ShellExecute hwnd, "open", "C:\ImeDokumenta.pdf", vbNullString, vbNullString, SW_SHOWNORMAL
End Sub
[ mirko1949 @ 25.09.2008. 12:20 ] @
Hvala, sad radi. Nije bio problem u liniji (napisao sam je celom duzinom, vec sam napravio glupu gresku u putanji. Hvala
Pozdrav