Newsgroup: it.comp.appl.access
Titolo: aprire file ey.doc oppure xy.prf da codice

Scusate so che è una domanda da super neofita
vorrei aprire un file .doc e un file .pdf (sono 2 file diversi..) da codice
come faccio?
docmd.open.......?????
boh!
Grazie Gugge

 docmd.open.......?????
    Copia il codice seguente in un modulo standard di Visual Basic...
' ------------------------------------------------------------
  Option Compare Text
  Option Explicit
  Option Base 0
' ------------------------------------------------------------
' ------------------------------------------------------------
  Private Enum apiSW_Enum
' ------------------------------------------------------------
  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,
'   LPCTSTR lpOperation,
'   LPCTSTR lpFile,
'   LPCTSTR lpParameters,
'   LPCTSTR lpDirectory,
'   INT     nShowCmd
');
' ------------------------------------------------------------
  Private Declare Function apiShellExecute _
    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 apiSW_Enum _
    ) As Long
' ============================================================
  Public Function ApriDoc( _
    ByVal PercorsoCompleto As String _
  , ByVal NomeDelFile As String _
  ) As Boolean
' ------------------------------------------------------------
  Dim oAcApp As Access.Application
' ------------------------------------------------------------
  Set oAcApp = Access.Application
  ApriDoc _
    = (apiShellExecute( _
          oAcApp.hWndAccessApp _
        , "open" _
        , NomeDelFile _
        , vbNullString _
        , PercorsoCompleto _
        , SW_SHOWNORMAL) _
    > 32)
  Set oAcApp = Nothing
  End Function
' ============================================================
... quindi sperimenta col codice seguente...
' ============================================================
  Public Function ApriDoc_Test( _
  ) As Boolean
' ------------------------------------------------------------
  Dim sPercorsoCompleto As String
  Dim sNomeDelFile      As String
' ------------------------------------------------------------
  sPercorsoCompleto = "D:\PUBLIC"
  sNomeDelFile = "TEST1.DOC"
  If (ApriDoc(sPercorsoCompleto, sNomeDelFile) = True) Then
    ApriDoc_Test = True
    Debug.Print "Ok."
  Else
    Debug.Print "Ko."
  End If
  End Sub
' ============================================================
... dove ovviamente al posto di "D:\PUBLIC" e di "TEST1.DOC" scriverai un
percorso ed un nome di file realmente presenti nel tuo pc.
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------

 ha scritto nel messaggio
news:aqluuc$b8cd2$2...@ID-52090.news.dfncis.de...


 azzoolinaaaaa!
    Se vuoi te la puoi cavare anche con un paio di righe. Consulta la guida
a proposito di:
        Function Shell( _
            PathName _
          , [WindowStyle As VbAppWinStyle = vbMinimizedFocus] _
          ) As Double
            Membro di VBA.Interaction
poi apri anche la finestra del Prompt di DOS e sperimenta:
C:\WINDOWS\COMMAND>start /?
Esegue una applicazione Windows o MS-DOS.
START [opzioni] programma [arg...]
START [opzioni] documento.ext
/m[inimized] Esegue la nuova applicazione minimizzata (in background).
/max[imized] Esegue la nuova applicazione massimizzata.
/r[estored]  Ripristina la nuova applicazione (modalità predefinita).
/w[ait]      Aspetta che l'altra applicazione esca prima di ritornare.
(WIN98)
... cosi' te la dovresti cavare anche con una sola riga. Ma considera anche
la flessibilita' della funzione API ShellExecute consultando in proposito
MSDN.
