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

249

    Vastaukset 7

    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. Haapaveden upea kurvikuningatar

      No nyt on kyllä mahtava uutinen että Haapaveden rohkea ja toimelias nainen ja yrittäjä on päässyt finaaliin kurvikuninga
      Haapavesi
      105
      1284
    2. Uskaltaisitko ihana nuorempi nainen lähettää

      WhatsApp -viestiä, jos sulla on mun numero. Olisin ihan haltioitunut... Tykkään ja kaipaan ❤️❤️
      Ikävä
      91
      787
    3. Meinasi nainen mennä pasmat sekaisin

      Rupesin vapisemaan, kun huomasin sinut. Mutta sain sentään juuri ja juuri koottua itseni, etten ihan häpäissyt itseäni.
      Ikävä
      35
      691
    4. Sinulle viestiä

      Me sitten oikeasti tutustutaan ensin!!
      Ikävä
      47
      667
    5. Suomi meni ihan itse sössimään peruskoulunsa

      Nyt syytellään maahanmuuttoa, vaikka ihan itse lopetettiin vaatimaan oppilailta koulunkäynnin tarkoitus eli opiskelu ja
      Maailman menoa
      120
      565
    6. Lidilikö Suomussalmelle

      Tännekki Lidili. Loppus tuo kiskominen näillä jäljellä olevilla. K-Market ihan sikakallis ja hyvin ylimieliset omistajat
      Suomussalmi
      30
      531
    7. Ei makeat pimut sytytä

      sen jälkeen kun on nähnyt sinut. Olet vain ihastus vailla vertaa. Kun sinut tuntee muut eivät tunnu miltään. Tajuatko ol
      Ikävä
      32
      516
    8. Upeaa Google!

      Kohta on töitä tarjolla kaikille! Suomen taloushistorian suurin investointi ja Kajaani mainittu! Sähkö kyllä riittää, tö
      Kajaani
      183
      500
    9. Huomasitko? Elämä Lapselle -konsertti tänään suorana tv:ssä - Aika kova kattaus huippuartisteja!

      Lastenklinikoiden Kummien järjestämä Elämä Lapselle -konsertti tukee Suomen viiden yliopistollisen lastensairaalan toimi
      Viihde ja kulttuuri
      23
      497
    10. Miten vaikuttaa

      Jos kaivatustasi on moni muukin kiinnostunut?
      Ikävä
      59
      483
    Aihe