mirror of
				https://github.com/gnh1201/welsonjs.git
				synced 2025-10-31 04:51:17 +00:00 
			
		
		
		
	Update officeloader.js
This commit is contained in:
		
							parent
							
								
									5f487d9409
								
							
						
					
					
						commit
						92dedd182e
					
				|  | @ -6,23 +6,24 @@ var Office = require("lib/msoffice"); | |||
| var ChatGPT = require("lib/chatgpt"); | ||||
| 
 | ||||
| function main(args) { | ||||
|     // EXAMPLE: cscript app.js officeloader data\example.xlsx
 | ||||
|     // EXAMPLE: cscript app.js officeloader <data\example.xlsx> <programfile>
 | ||||
|     if (args.length > 0) { | ||||
|         var filename = args[0]; | ||||
|         open(filename); | ||||
|         var programfile = args[1]; | ||||
|         open(filename, programfile); | ||||
|     } else { | ||||
|         test(); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| function open(filename) { | ||||
| function open(filename, programfile) { | ||||
|     var filetypes = [ | ||||
|         {"application": "excel", "filetypes": Office.Excel.SupportedFileTypes}, | ||||
|         {"application": "powerpoint", "filetypes": Office.PowerPoint.SupportedFileTypes}, | ||||
|         {"application": "word", "filetypes": Office.Word.SupportedFileTypes} | ||||
|     ]; | ||||
| 
 | ||||
|     var resolved_filetype = filetypes.reduce(function(a, x) { | ||||
|     var resolved_application = filetypes.reduce(function(a, x) { | ||||
|         if (a == '') { | ||||
|             var application = x.application; | ||||
|             var extensions = x.filetypes.reduce(function(b, x) { | ||||
|  | @ -37,22 +38,36 @@ function open(filename) { | |||
|         return a; | ||||
|     }, ''); | ||||
| 
 | ||||
|     switch (resolved_filetype) { | ||||
|     var after_opened = function(officeInstance) { | ||||
|         if (typeof programfile !== "undefined") { | ||||
|             var target = require(programfile); | ||||
|             try { | ||||
|                 target.onApplicationOpened(resolved_application, officeInstance); | ||||
|             } catch (e) { | ||||
|                 console.error("after_opened:", e.message); | ||||
|             } | ||||
|         }; | ||||
|     }; | ||||
| 
 | ||||
|     switch (resolved_application) { | ||||
|         case "excel": { | ||||
|             var excel = new Office.Excel();   // Create an Excel instance
 | ||||
|             excel.open(filename);  // Open the Excel instance
 | ||||
|             after_opened(excel); | ||||
|             break; | ||||
|         } | ||||
|          | ||||
|         case "powerpoint": { | ||||
|             var powerpoint = new Office.PowerPoint();   // Create a PowerPoint instance
 | ||||
|             powerpoint.open(filename);  // Open the PowerPoint instance
 | ||||
|             after_opened(powerpoint); | ||||
|             break; | ||||
|         } | ||||
| 
 | ||||
|         case "word": { | ||||
|             var word = new Office.Word();   // Create an Word instance
 | ||||
|             word.open(filename);  // Open the Word instance
 | ||||
|             after_opened(word); | ||||
|             break; | ||||
|         } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user