Getting Windows to open a file type using a MATLAB application
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I'd like to create a MATLAB application that can be used by Windows as the default program for opening certain file types. What I'm imagining is creating an app that reads an Excel file and processes and displays the information in a certain way. I would save an Excel file as something.xls2, and when I click on it in the file explorer, it would start my MATLAB application and pass it the filepath of something.xls2 so that the app can read the data and do it's thing. If this is possible then I'm sure it would involve some fiddling with Windows as well as MATLAB, but any insight would be appreciated.
0 Kommentare
Antworten (2)
Rik
am 28 Mai 2021
You should be able to compile your function and use the 'open with' dialog in Windows to assign it to your exe.
If you let your function accept the path as input this should work without any tricks.
0 Kommentare
per isakson
am 28 Mai 2021
Bearbeitet: per isakson
am 1 Jun. 2021
An alternative that doesn't require the Matlab compiler (but requires a Matlab license to run):
- Create a bat-file, e.g. read_xls2.bat (See Guide to Windows Batch Scripting). (Or a PowerShell script.)
- Right click an xls2-file, click "Open with ...", and choose read_xls2.bat as "Always open with"
- Create an m-file, read_and_process_xls2.m, that does the job.
- read_xls2.bat shall contain a command that starts Matlab, see matlab (Windows), Start MATLAB program from Windows system prompt and Commonly Used Startup Options. The name of the xls2-file that you double click will be available in the batch file under the name "%1" (and "%*"). The strings "read_and_process_xls2", "-batch" (or "-r") and "%1" shall appear in the command line that starts Matlab.
I made a tiny demo. Double clicking echo.abc invokes echo.bat
ECHO %0
ECHO %1
ECHO %*
pause
outputs
D:\m\cssm>ECHO "D:\m\cssm\echo.bat"
"D:\m\cssm\echo.bat"
D:\m\cssm>ECHO "D:\m\cssm\echo.abc"
"D:\m\cssm\echo.abc"
D:\m\cssm>ECHO "D:\m\cssm\echo.abc"
"D:\m\cssm\echo.abc"
D:\m\cssm>pause
Press any key to continue . . .
0 Kommentare
Siehe auch
Kategorien
Mehr zu Environment and Settings finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!