Tiedostonvalintadialogi vbscriptille

simpleGUI

Miten saisi selattua ja valittua tiedoston Windowsin selaus dialogista vbscriptistä.

Tarkoitus olisi saada suoritettua qpdf.exe niin että voisi antaa sille avattavan pdf tiedoston nimi hiirellä windowsin selausikkunasta. Eli vbscriptilla tiedoston valinta ja välitys exe-ohjelmalle.

7

199

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • simpleGU

      Rankasti googlettamalla ja yrityserehdys-menetelmällä
      ***********************************************************************************
      Dim objDialog
      Set objDialog = CreateObject("MSComDlg.CommonDialog")
      With objDialog
      .Filter = "*.pdf"
      ' .InitDir = "C:"
      .MaxFileSize = 256
      .Flags = &H80000 &H4 &H8
      End With

      objDialog.ShowOpen


      Set WshShell = WScript.CreateObject("WScript.Shell")

      WshShell.Run ".\bin\qpdf.exe " & chr(34) & objDialog.FileName & chr(34) & " " & chr(34) & objDialog.FileName & "avattu.pdf" & chr(34)

      ***********************************************************************************
      Olis kyllä hyvä opetella mutta kun ei koskaan riitä kärsivällisyys.

      • simpleGU

        vbs- sripti on kansiossa "qpdf-5.1.2", jossa kansiossa on kansio "bin" (ja siellä "qpdf.exe").


      • simpleGUI
        simpleGU kirjoitti:

        vbs- sripti on kansiossa "qpdf-5.1.2", jossa kansiossa on kansio "bin" (ja siellä "qpdf.exe").

        Jotta alkuperäinen tarkoitus tulee ohjelmalla niin pitää tietysti olla decrypt mukana

        WshShell.Run ".\bin\qpdf.exe " & " " & "--decrypt" & " " & chr(34) & objDialog.FileName & chr(34) & " " & chr(34) & objDialog.FileName & "avattu.pdf" & chr(34)

        Tää selostus menee samalla tavalla kuin ongelman ratkaisukin: tipotellen.

        Tuosta puuttuu vielä virheenkäsitelly kokonaan.


      • SimpleGUI

        ActiveX component can't create object."MSComDlg.CommonDialog"
        Code:800A01AD

        Eipä toimi joka koneessa. Koneissa joissa toimi on asennettu jokin ohjelma. Yhdessä koneessa on ainakin joskus ollut asennettuna Visual Studio.

        Onko sellaista vaihtoetoa joko toimisi kaikissa Windows 7/Vista/8 koneissa?
        Ettei tarvitse asentaa mitään koneeseen jossa käyttää skriptiä.


      • SimpleGUI
        SimpleGUI kirjoitti:

        ActiveX component can't create object."MSComDlg.CommonDialog"
        Code:800A01AD

        Eipä toimi joka koneessa. Koneissa joissa toimi on asennettu jokin ohjelma. Yhdessä koneessa on ainakin joskus ollut asennettuna Visual Studio.

        Onko sellaista vaihtoetoa joko toimisi kaikissa Windows 7/Vista/8 koneissa?
        Ettei tarvitse asentaa mitään koneeseen jossa käyttää skriptiä.

        Tämä toimii seiskassa mutta kasissa ontaa kummallisen virheen "Määrittämätön virhe 80004005 rivi 3 merkki 1 eli rivin "Set file = shell.BrowseForFolder(0, "Choose a file:", &H4000,17)" alkuun.

        **************
        Dim shell
        Set shell = CreateObject("Shell.Application")
        Dim file
        Set file = shell.BrowseForFolder(0, "Choose a file:", &H4000,17)
        BrowseForFile = file.self.Path

        Set WshShell = WScript.CreateObject("WScript.Shell")
        WshShell.Run ".\bin\qpdf.exe " & " " & "--decrypt" & " " & chr(34) & BrowseForFile & chr(34) & " " & chr(34) & BrowseForFile & "avattu.pdf" & chr(34)*****

        ***************************
        On vaikeeta kun mikä toimii xp:ssä ei toimi vistasta ylöpäin ja mikä toimii seiskassa ei toimi enää kasissa.


      • SimpleGUI
        SimpleGUI kirjoitti:

        Tämä toimii seiskassa mutta kasissa ontaa kummallisen virheen "Määrittämätön virhe 80004005 rivi 3 merkki 1 eli rivin "Set file = shell.BrowseForFolder(0, "Choose a file:", &H4000,17)" alkuun.

        **************
        Dim shell
        Set shell = CreateObject("Shell.Application")
        Dim file
        Set file = shell.BrowseForFolder(0, "Choose a file:", &H4000,17)
        BrowseForFile = file.self.Path

        Set WshShell = WScript.CreateObject("WScript.Shell")
        WshShell.Run ".\bin\qpdf.exe " & " " & "--decrypt" & " " & chr(34) & BrowseForFile & chr(34) & " " & chr(34) & BrowseForFile & "avattu.pdf" & chr(34)*****

        ***************************
        On vaikeeta kun mikä toimii xp:ssä ei toimi vistasta ylöpäin ja mikä toimii seiskassa ei toimi enää kasissa.

        Siis rivi 4 eikä 3


      • SimpleGUI
        SimpleGUI kirjoitti:

        Tämä toimii seiskassa mutta kasissa ontaa kummallisen virheen "Määrittämätön virhe 80004005 rivi 3 merkki 1 eli rivin "Set file = shell.BrowseForFolder(0, "Choose a file:", &H4000,17)" alkuun.

        **************
        Dim shell
        Set shell = CreateObject("Shell.Application")
        Dim file
        Set file = shell.BrowseForFolder(0, "Choose a file:", &H4000,17)
        BrowseForFile = file.self.Path

        Set WshShell = WScript.CreateObject("WScript.Shell")
        WshShell.Run ".\bin\qpdf.exe " & " " & "--decrypt" & " " & chr(34) & BrowseForFile & chr(34) & " " & chr(34) & BrowseForFile & "avattu.pdf" & chr(34)*****

        ***************************
        On vaikeeta kun mikä toimii xp:ssä ei toimi vistasta ylöpäin ja mikä toimii seiskassa ei toimi enää kasissa.

        Tämä tomii mutten käsitä sitä
        *****************'''
        BrowseForFile = Replace(CreateObject("WScript.Shell").Exec("mshta.exe ""about:FILE.click();new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).WriteLine(FILE.value);close();moveTo(-32000,-32000);""").StdOut.ReadAll, vbCrLf, "")

        Set WshShell = WScript.CreateObject("WScript.Shell")

        WshShell.Run ".\bin\qpdf.exe " & " " & "--decrypt" & " " & chr(34) &_
        BrowseForFile & chr(34) & " " & chr(34) & BrowseForFile & "avattu.pdf" & chr(34)

        ***********************


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Useita puukotettu Tampereella

      Mikäs homma tämä nyt taas on? "Useaa henkilöä on puukotettu Tampereen keskustassa kauppakeskus Ratinan lähistöllä." ht
      Tampere
      148
      2814
    2. Asiakas iski kaupassa varastelua tehneen kanveesiin.

      https://www.iltalehti.fi/kotimaa/a/33a85463-e4d5-45ed-8014-db51fe8079ec Oikein. Näin sitä pitää. Kyllä kaupoissa valtava
      Maailman menoa
      363
      2017
    3. Leipivaaran päällä on kuoleman hiljaista.

      Suru vai suuri helpotus...
      Puolanka
      40
      1757
    4. Kuka rääkkää eläimiä Puolangalla?

      Poliisi ampui toistakymmentä nälkiintynyttä eläintä Puolangalla Tilalta oli ollut karkuteillä lähes viisikymmentä nälkii
      Puolanka
      35
      1678
    5. Meneeköhän sulla

      oikeasti pinnan alla yhtä huonosti kuin mulla? Tai yhtä huonosti mutta jollain eri tyylillä? Ei olisi pitänyt jättää sua
      Ikävä
      31
      1393
    6. Jos ei tiedä mitä toisesta haluaa

      Älä missään nimessä anna mitään merkkejä kiinnostuksesta. Ole haluamatta mitään. Täytyy ajatella toistakin. Ei kukaan em
      Ikävä
      94
      1213
    7. Määpä tiijän että rakastat

      Minua nimittäin. Samoin hei! Olet mun vastakappaleeni.
      Ikävä
      54
      1173
    8. Muutama kysymys ja huomio hindulaisesta kulttuurista.

      Vedakirjoituksia pidetään historiallisina teksteinä, ei siis "julistuksena" kuten esimerkiksi Raamattua, vaan kuten koul
      Hindulaisuus
      327
      949
    9. Jumala puhui minulle

      Hän kertoi sinusta asioita, joiden takia jaksan, uskon ja luotan. Hän kuvaili sinua minulle ja pakahduin onnesta kuulles
      Ikävä
      110
      938
    10. Annan meille mahdollisuuden

      Olen avoimin mielin ja katson miten asiat etenevät. Mutta tällä kertaa sun on tehtävä eka siirto.Sen jälkeen olen täysil
      Ikävä
      53
      782
    Aihe