Avatar billede per2edb Praktikant
02. marts 2013 - 13:00 Der er 11 kommentarer og
1 løsning

Macro Kørprogram

Jeg skal have kaldt et extern program fra makro
Programmet ligger i samme mappe som access
Jeg har prøvet:

Kørprogram
Call Shell("xxxx.exe",1)

Det virker ikke.

Jeg skal samtidig have overført ID=200 til xxxx.exe
Hvordan gør jeg det
Avatar billede larsgrau Forsker
02. marts 2013 - 14:40 #1
Private Sub Command1_Click()

  Dim stAppName As String
 
  stAppName = "C:\Program Files\Adobe\Photoshop 6.0\Photoshp.exe"
  Call Shell(stAppName, 1)
 
End Sub
Avatar billede per2edb Praktikant
02. marts 2013 - 14:55 #2
Det har jeg allerede.
Se ovenfor hvor jeg beder om en kommando lagt i Makro formentlig Kørprogram
Avatar billede larsgrau Forsker
02. marts 2013 - 15:42 #3
Ja det er rigtigt

Du skal bruge kørprogram og i kommandolinjen skal du skrive:

"c:\windows\notepad.exe"

Nu starte jeg notepad da jeg ikke har det program som du skal have starte
Avatar billede larsgrau Forsker
02. marts 2013 - 15:46 #4
Avatar billede per2edb Praktikant
02. marts 2013 - 16:39 #5
Hej og tak men desværre det har jeg også prøvet
Som jeg skriver skal kaldet være til samme mappe som kaldet kommer fra. Altså ikke en fast sti c:  osv
Herudover skal Id=xxx kobles på.
Jeg vil tro det er: "xxxx.exe"?Id=200  men ved det ikke
Avatar billede Slettet bruger
02. marts 2013 - 16:50 #6
tilgang fra makro opnåes ved at lægge vba koden i en offentligt tilgængeligt funktion (standard modul) og kalde fra makroens 'afspil kode' ting.

Med andre ord:
function calExpApp()
  Dim stAppName As String

  stAppName = """C:\Program Files\Adobe\Photoshop 6.0\Photoshp.exe"" ""c:\my images\test.jpg"""
  Shell stAppName, 1
end function

Bemærk
1. omslutning af filnavne med mellemrum i med gåseøje (prøv at udskrive i immediate vinduet - kan godt virke lidt kryptisk første gang man forsøger sig med det.)
2. keyword 'call' er ingen fejl - men er altså en reminsens fra gamle dage - bibeholdt af kompatibilitetshensyn - en funktion kaldes 'som om' det var en proc ved udeladelse af parenteser.
3. Overførsel af parametre som kommandolinie argument (her test.jpg) - er det det du mener med at overføre parametre?

En helt anden til - hvis man har ønsket om at kalde noget vha. shell og ønsker at access venter med at gå videre i kodenafviklen til programmet afslutter (værdier gemt i filer eller klippebord ), så skal man prøve at google 'site:www.mvps.org shellwait'
Avatar billede per2edb Praktikant
02. marts 2013 - 17:07 #7
Som jeg har skrevet til larsgrau - alt dette har jeg allerede
Jeg ønsker det flyttet til em Makro som larsgrau har vist i screen dump. Der er selvfølgelig en dybereliggende grund til jeg vil have det flyttet til Makro.
Det jeg ønsker overført er Id=200. Var det en html hed det
?Id=200 Det skal bruges til rigtig mange kald til et externt Hjælpeprogram hvor hver Id er hjælpeteksten.
Avatar billede Slettet bruger
02. marts 2013 - 18:27 #8
Det er op til det externe program hvorfra det vil læse sine parametre - så det kan ikke besvares uden at kende programmet.
Windows og unix programmer kan vælge, at hente mellemrumsadskilte parametre fra kommandolinien - som photoshop f.eks gør i #6
Avatar billede per2edb Praktikant
02. marts 2013 - 18:41 #9
Vi kommer desværre væk fra det egentlige jeg behøver:

Hvordan stilles kaldet op ved makro (Ikke function-kodegenerator) ved et kald til et externt program der ligger i samme folder (Helst ikke en sti c: osv). Overførsel af parametre kan vente men programmet er HelpMaker. Det vil være fint hvis i ved hvordan til dette program
Avatar billede per2edb Praktikant
03. marts 2013 - 13:50 #10
I makro afspildkode kalder jeg et modul function men får fejlen:
Invalid procedure call or argument

Public Function HELP()

Dim stAppName As String
 
    stAppName = "C:\users\per\HELP\erp_help.chm"
   
msgbox(stAppName) '<= Stien ser korrekt ud her

    Shell stAppName, 1
Avatar billede per2edb Praktikant
03. marts 2013 - 19:52 #11
Jeg har fundet ud af fejlen ligger i det kun er exe programmer der kan startes med shell.
Jeg lukker og opretter et nyt spørgsmål på hvordan erp_help.chm startes
Avatar billede per2edb Praktikant
03. marts 2013 - 19:52 #12
Stoppet
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester