skrypt skryptu, aby uruchomić program Excel bez ustalonej ścieżki i opcji wiersza poleceń

1

Muszę napisać skrypt .bat, który uruchomi program Excel na określonym pliku.

Najtrudniejsze jest to, że nie znam dokładnej ścieżki, w której program Excel jest zainstalowany.

Dodatkowo muszę zacząć od opcji, aby uczynić go tylko do odczytu.

Oto kilka kontekstów, w których problem można umieścić w kontekście: Obecnie plik .bat wygląda następująco:

"C:\My\Path\To\excel.exe" /r "S:\The\Path\To\File.xlsx"

Ten plik znajduje się na dysku udostępnionym. Użytkownik ma skrót do tego pliku na pulpicie.

Gdy użytkownik kliknie skrót, program Excel rozpoczyna się na File.xlsx.

Ale gdy inny użytkownik z inną ścieżką do Excela robi to samo, skrypt po prostu miga w oknie cmd.

Nawiasem mówiąc, chciałbym również znaleźć sposób, aby wyeliminować zaśmiecanie okna cmd podczas ekranu.

Jest to związane z tym pytaniem: Pozwól wielu osobom pracować z jednym plikiem Excel tylko do odczytu

Próbowałem zrobić skrót do pliku i ustawić cel:

start excel /r "S:\The\Path\To\File.xlsx"

Ale jeśli nie powiedzie się ten komunikat: wprowadź opis zdjęcia tutaj

Michael Potter
źródło

Odpowiedzi:

2

Obecnie nie mogę tego przetestować, ale uważam, że można uniknąć pliku wsadowego. Wystarczy utworzyć skrót z następującym celem :

Edycja: wypróbuj następujące czynności dla pliku wsadowego:

START excel.exe /r "S:\The\Path\To\File.xlsx"
EXIT

Ponadto uważam, że można dołączyć wartość klucza rejestru do ścieżki instalacyjnej programu Excel , uruchamiając następujące polecenie wsadowe:

 reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\excel.exe"
davidmneedham
źródło
2

Nie mogłem zmusić START do pracy w skrócie, ponieważ wymaga on wiersza poleceń. Użyłem następujących i działa świetnie:

C: \ Windows \ System32 \ cmd.exe / c START excel.exe / r „Użyj ścieżki UNC, abyś nie musiał mapować dysku tutaj \ File.xlsx”

Po umieszczeniu w cmd.exe automatycznie koduje ścieżkę C: \ Windows \ System32 \ cmd.exe
Możesz użyć% systemroot% \ Systems32 \ cmd.exe ..... aby uniknąć zakodowania w jak największym stopniu.

Matt Schafer
źródło