Newsgroup: it.comp.appl.access
Titolo: apertura programma organizer 5.0

vorrei creare un pulsante che apra il file c:\file.or5 (un file di organizer
5) oppure semplicemente l'organizer.
questo è quello che ho fatto seguendo quello che c'era scritto nelle
creazioni guidate di access:
Private Sub Comando15_Click()
On Error GoTo Err_Comando15_Click
    Dim stAppName As String
    stAppName = "C:\programmi\lotus\organize\org5.exe c:\file.or5"
    Call Shell(stAppName, 1)
Exit_Comando15_Click:
    Exit Sub
Err_Comando15_Click:
    MsgBox Err.Description
    Resume Exit_Comando15_Click
End Sub
ottengo però il seguente messaggio di errore:"chiamata di routine o
argomenti non validi.
ho provato anche con
stAppName="C:\programmi\lotus\organize\org5.exe "
e
"C:\Programmi\lotus\organize\org5.exe /LIT" (copiando il collegamento creato
dall'istallazione di Lotus Org nei in start^programmi...)
nulla da fare!
il programma Lotus Organizer parte tranquillamente se introduco le medesime
stringhe in start^esegui !
come posso fare?

 wrote in message
7bKb6.15419$ew1.1...@news.infostrada.it...


 altrimenti restituisce zero e un errore!
--
Ciao.
Maurizio
--------
?SPQR(C)
 X
--------

scusate la mia ignoranza ma non capisco ancora cosa devo fare!potreste
spiegarmi meglio?in pratica cosa devo sostituire?

> Maurizio Borrelli:
[...]
Oops! Scusate se non mi sono presentato ma non era mia intenzione postare in
questo ng che seguo solo "in lettura". Pensavo di essere su iclvb.
Approfitto dell'occasione per salutare e per fare i complimenti a tutti.
--
Ciao :-)


 >     Call Shell(stAppName, 1)
--



In pratica devi scrivere:
Private Sub Comando15_Click()
On Error GoTo Err_Comando15_Click
    Dim stAppName As String
    Dim ValoreRestituito as Variant            <---
    stAppName = "C:\programmi\lotus\organize\org5.exe c:\file.or5"
    ValoreRestituito = Shell(stAppName,  vbNormalFocus)             <---
Exit_Comando15_Click:
    Exit Sub
Err_Comando15_Click:
    MsgBox Err.Description
    Resume Exit_Comando15_Click
End Sub
Bye bye... ^_^
PS: che "ValoreRestituito" non sia l'handle ma l'id del task a te non
importa molto... l'importante č che tu capisca la correzione! Se non va
ancora allora č proprio una strana faccenda!
La prossima volta non perderti tra le righe... la risposta l'avevo giŕ data
prima...

 La prossima volta non perderti tra le righe... la risposta l'avevo già
data prima...
Mi dispiace essermi messo in mezzo a 'sta faccenda ma ormai ci sono e...
andiamo avanti, pazienza.
NON e` significativa la mia correzione:
    stAppName = "C:\programmi\lotus\organize\org5.exe c:\file.or5"
in
    stAppName = "C:\programmi\lotus\organize\org5.exe ""c:\file.or5"""
ma ha senso perche' si basa sull'esperienza che gli esempi proposti nei
quesiti non rappresentano sempre il reale codice non funzionante e
generalmente quello che viene proposto come:
    "c:\file.or5"
nell'esempio, si rivela poi essere un
    "c:\documenti\i fatti miei\un nome di file.or5"
ed allora i doppi apici della mia risposta diventano importanti!
Evidentemente non e` questo il caso per cui mi scuso e punto e a capo.
NON e` significativa la tua e, perdonami ma non ha molto senso, perche' si
puo` legittimamente scrivere:
    Shell stAppName,  vbNormalFocus
    Call Shell(stAppName,  vbNormalFocus)
    Dim ValoreRestituito as Long
    ValoreRestituito = Shell(stAppName,  vbNormalFocus)
oppure, come scrivi tu:
    Dim ValoreRestituito as Variant
    ValoreRestituito = Shell(stAppName,  vbNormalFocus)
e non cambia nulla. Nei primi due casi semplicemente si rinuncia ad
assegnare ad una variabile il famoso ProcID. Perdendolo. Ma poco importa in
questo caso visto che non dobbiamo farne uso per recuperare l'handle...
Visto che l'errore lamentato e`:
    "chiamata di routine o argomenti non validi"
e quindi non c'entra nulla con la sintassi di Shell, andrei a dare una
sbirciatina ai riferimenti di Access, poi farei un compatta e ripristina e
gli scongiuri di rito. :-(
wildsurfer, se vieni a capo di qualcosa saro` lieto di leggerti.


per Gianni alla Microel e Maurizio Borrelli
vi ringrazio per le precisazioni.purtroppo però non va ancora inserendo
quello che mi avete detto voi.
l'ho risolto a mio modo creando un file apri.bat con all'interno la path del
programma e del file.
grazie comunque per l'aiuto.

 l'ho risolto a mio modo creando un file apri.bat con all'interno la path
del programma e del file.
Grazie dell'informazione, ma come lo lanci questo file batch? Sempre con
Shell?
Se vuoi, considera anche il codice seguente:
Option Compare Database
Option Explicit
Private Enum e_ShowCmd
  SW_HIDE
  SW_SHOWNORMAL
  SW_SHOWMINIMIZED
  SW_SHOWMAXIMIZED
  SW_SHOWNOACTIVATE
  SW_SHOW
  SW_MINIMIZE
  SW_SHOWMINNOACTIVE
  SW_SHOWNA
  SW_RESTORE
End Enum
' HINSTANCE ShellExecute(
'   HWND    hWnd,         // handle to parent window
'   LPCTSTR lpOperation,  // pointer to string that specifies
'                         //    operation to perform
'   LPCTSTR lpFile,       // pointer to filename or folder
'                         //    name string
'   LPCTSTR lpParameters, // pointer to string that specifies
'                         //    executable-file parameters
'   LPCTSTR lpDirectory,  // pointer to string that specifies
'                         //  default directory
'   INT     nShowCmd      // whether file is shown when opened
' );
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 e_ShowCmd _
  ) As Long
Private Sub Comando0_Click()
  On Error Resume Next
  ShellExecute _
      hWnd _
    , "open" _
    , "c:\file.or5" _
    , vbNullString _
    , vbNullString _
    , SW_SHOWNORMAL
End Sub


 wrote in message
%6Yb6.19454$ew1.1...@news.infostrada.it...

Okay... ci ho... anzi.. ci abbiamo provato...