Как VBScript найти путь к файлу? - PullRequest
0 голосов
/ 14 января 2019

хорошо, поэтому я создавал HTML, который открывается без панелей инструментов или чего-либо другого, но я не могу заставить его работать на других компьютерах

это то, что я получил

set webbrowser = createobject("internetexplorer.application")

webbrowser.statusbar = false

webbrowser.menubar = false

webbrowser.toolbar = false

webbrowser.visible = true

webbrowser.navigate2 ("C:\Users\unknown\Desktop\Folder\myhtml.html")

Ответы [ 2 ]

0 голосов
/ 14 января 2019

Вы должны справиться с этим:

  • Местоположение папки рабочего стола пользователя может быть изменено
  • Рабочий стол, который видит пользователь, представляет собой виртуальное представление нескольких папок в файловой системе. Непосредственный поиск папки внутри рабочего стола пользователя исключит папку рабочего стола, настроенную для всех пользователей.

Итак, лучше попросить ОС получить нужную информацию

Option Explicit

' folder in desktop and file in folder 
Const FOLDER_NAME = "Folder"
Const FILE_NAME = "myhtml.html"

Dim oFolder
Const ssfDESKTOP = &H00&
    ' Retrieve a reference to the virtual desktop view and try to retrieve a reference
    ' to the folder we are searching for
    With WScript.CreateObject("Shell.Application").Namespace( ssfDESKTOP )
        Set oFolder = .ParseName(FOLDER_NAME)
    End With 

    ' If we don't have a folder reference, leave with an error
    If oFolder Is Nothing Then 
        WScript.Echo "ERROR - Folder not found in desktop"
        WScript.Quit 1
    End If 

Dim strFolderPath, strFilePath    
    ' Retrieve the file system path of the requested folder
    strFolderPath = oFolder.Path

    ' Search the required file and leave with an error if it can not be found
    With WScript.CreateObject("Scripting.FileSystemObject")
        strFilePath = .BuildPath( strFolderPath, FILE_NAME )
        If Not .FileExists( strFilePath ) Then 
            WScript.Echo "ERROR - File not found in desktop folder"
            WScript.Quit 1
        End If 
    End With 

    ' We have a valid file reference, navigate to it
    With WScript.CreateObject("InternetExplorer.Application")
        .statusBar = False 
        .menubar = False 
        .toolbar = False 
        .visible = True 
        .navigate2 strFilePath 
    End With 

Более подробную информацию о объектах сценариев оболочки можно найти здесь

0 голосов
/ 14 января 2019

Используйте свойство UserName объекта ActiveX "WScript.Network", чтобы получить имя текущего пользователя на других компьютерах.

Как в:

>> sUser = CreateObject("WScript.Network").UserName
>> WScript.Echo "Just for Demo:", sUser
>>
Just for Demo: eh

(Этот объект отличается от объекта WScript, предоставляемого хостом C | WScript.exe, поэтому его можно использовать с другого хоста. Не с помощью браузера (.html), а с хостом mshta.exe (.hta) - как @omegastripes предлагает - это разумный совет.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...