Presentation is loading. Please wait.

Presentation is loading. Please wait.

(WindowScriptHostの活用)

Similar presentations


Presentation on theme: "(WindowScriptHostの活用)"— Presentation transcript:

1 (WindowScriptHostの活用)
ASとPCの新たな連携 (WindowScriptHostの活用) 株式会社 アクセル

2 空白ページ

3 これまでの連携手法 PCの機能 ・Excel ・PDF ・画像 ・テキストファイル ・CSV 基本的にダメ
■STRPCCMDが、PC側のコマンドを実行できる     123文字の制限 / 返事? /固定的呼び出し

4 スクリプト・オートメーションの歴史 スクリプトオートメーションとは、 テキストベースのスクリプトを利用し、複数の処理の実行を自動化する技術
バッチファイル ・複数の処理を羅列 ・簡単な論理判断 WSH (Windows Script Host) ・JavascriptまたはVBscriptで記述 ・Shellに含まれない Power Shell ・2003年、発表

5 WSHの例・その1 ファイルがあったら、削除する //----ファイル名を 指定
filename=“C:\\Users\\AA\\Desktop\\aaaaa.pdf" //----オブジェクトを生成 fso = WScript.CreateObject("Scripting.FileSystemObject") //----ファイルの存在をチェック if( fso.fileExists( fileName ) ){ fso.DeleteFile( fileName)     //----ファイルを削除 }

6 WSHの例・その2 Excelを開く //----ファイルを指定
url = " //----Excelオブジェクトを生成 var ExcelApp = new ActiveXObject( "Excel.Application" ); //----Excelを表示 ExcelApp.Visible = true ; //----ブックを開く var book = ExcelApp.Workbooks.Open( url );

7 WSHの例・その3 Excelを開き、PDFを作成する //----ファイルを指定
url = " //----Excelオブジェクトを生成 var ExcelApp = new ActiveXObject( "Excel.Application" ); //----Excelを表示 ExcelApp.Visible = true ; //----ブックを開く var book = ExcelApp.Workbooks.Open( url ); var sheet = book.Worksheets( 1 ); // 1 シート目のオブジェクト // //----PDFを作成する outfile="C:\\Users\\ohtsuki\\Desktop\\aaaaa.pdf" sheet.PageSetup.Orientation = xlPortRait // 印刷方向設定 :縦 sheet.PageSetup.Orientation = xlLandscape // 印刷方向設定 :横 // PDF作成 book.ExportAsFixedFormat(0, outfile, 0, true, false,1 ,999 ,true)

8 WSHの起動 AAAA.js ネットワーク AAAA.js ファイル関連付け WSHエンジン ■PCローカルの場合、ダブルクリックで起動
■ネットワークからの場合、ブラウザーを経由し、   『ファイルの関連付け』で、WSHエンジンを起動する ■下のメッセージが出る

9 WSHを記述するファイル Jsファイル (¥scriptを記述) WSFファイル
  (¥scriptを記述) WSFファイル <?xml version="1.0" encoding="shift_jis"?> <job> <script src=" <script> <![CDATA[   (scriptを記述) ]]> </script> </job> ■WSF(WindowsScriptFile)は、複数の処理を記述できる ■外部のscriptを呼び込むことも可能

10 i-webでWSFを処理 ソースファイル http://・・/iweb/WSH005.WSF IWGPL/QHTM WSH005
<?xml version="1.0“> <job> <script src=“・・・”> <script> <![CDATA[   (scriptを記述) ]]> </script> </job> WSHエンジン WSF005に記述された PCの処理を実行

11 WSFサンプル・その1 Excelを作成 Excel作成 http://・・・・/iweb/WSF005.WSF WSF
1.新規ExcelをOpen 2.タイトル・セル枠などを設定 3.データを書き出し

12 WSFサンプル・その1-1 Excel作成 http://・・・・/iweb/WSF005.WSF
<?xml version="1.0" encoding="shift_jis"?> <job> <script src=" <script> <![CDATA[ // Excel 操作 var ExcelApp = new ActiveXObject( "Excel.Application" ); // Excel オブジェクトを取得 (Excel の起動 ) ExcelApp.Visible = true; // Excel アプリケーションを表示 var book = ExcelApp.Workbooks.Add(); // 新しいブックを追加 var sheet = book.Worksheets( 1 ); // 1 シート目のシートオブジェクトを取得 //============================================================================= // タイトルの設定 with(sheet.Range("C1","F1")){ Borders(xlEdgeTop ).LineStyle = xlContinuous // 上 Borders(xlEdgeBottom).LineStyle = xlContinuous // 下 Borders(xlEdgeRight ).LineStyle = xlContinuous // 右 Borders(xlEdgeLeft ).LineStyle = xlContinuous   // 左 Interior.ColorIndex = // 背景色 ( 灰色) // セル枠の設定 for(var i=3 ; i < 10 ; i++){ for(var j=1 ; j < 10 ; j++){ with( sheet.Cells(i,j)) { Borders(xlEdgeRight ).LineStyle = xlContinuous // 右 Borders(xlEdgeLeft ).LineStyle = xlContinuous // 左 }

13 WSFサンプル・その1-2 //============================================================================= // 背景色の設定 for(var j=1 ; j < 10 ; j++){ with( sheet.Cells(3,j)) { Interior.ColorIndex = 15 } // 見出しの設定 sheet.Cells(3,1).value = " 商品コード "; sheet.Cells(3,2).value = " 商品名 "; sheet.Cells(3,3).value = " メーカー "; sheet.Cells(3,4).value = " 品種 "; sheet.Cells(3,5).value = " 単価 "; sheet.Cells(3,6).value = " 在庫 "; // データの書き出し data=[ ["13770"," 電動式 鉛筆削り " ," PLUS "," 鉛筆削り ","4194","25" ] , ["15498"," 手動鉛筆削り FS-150 ブルー "," PLUS "," 鉛筆削り ","998" ,"3" ] , ["20630"," 手動鉛筆削り FS-150 イエロー "," PLUS "," 鉛筆削り ","998" ,"14" ] ] for(var i=0 ; i < data.length ; i++){ for(var j=0 ; j < data[i].length ; j++){ sheet.Cells(4+i ,1+j).value = data[i][j]    ]]> </script> </job>

14 WSFサンプル・その2 Excelを作成後、PDF作成
WSF 1.新規ExcelをOpen 2.タイトル・セル枠などを設定 3.データを書き出し     4.PDFを作成

15 WSFサンプル・その2-1 Excel作成 http://・・・・/iweb/WSF005A.WSF
<?xml version="1.0" encoding="shift_jis"?> <job> <script src=" <script> <![CDATA[ // Excel 操作 var ExcelApp = new ActiveXObject( "Excel.Application" ); // Excel オブジェクトを取得 (Excel の起動 ) ExcelApp.Visible = true; // Excel アプリケーションを表示 var book = ExcelApp.Workbooks.Add(); // 新しいブックを追加 var sheet = book.Worksheets( 1 ); // 1 シート目のシートオブジェクトを取得        ・     【同じ処理】 //============================================================================= // PDFの作成 outfile="C:\\Users\\ohtsuki\\Desktop\\aaaaa.pdf" sheet.PageSetup.Orientation = xlPortRait // 印刷方向設定 sheet.PageSetup.Orientation = xlLandscape // 印刷方向設定 book.ExportAsFixedFormat(0, outfile, 0, true, false,1 ,999 ,true) // PDF作成 ]]> </script> </job>

16 WSFサンプル・その3 HTMLからExcelを作成
WSF <table border=1 style=border-collapse:collapse;> <tr><th class=hdr> 品目 <th class=hdr> 品名 <th class=hdr> メーカー <th class=hdr> 品種 <th class=hdr> 単価 <th class=hdr> 在庫 <tr><td x:str>013770<td> 電動式 鉛筆削り <td> PLUS    <td> 鉛筆削り <td>4194<td>25 <tr><td x:str>015498<td> 手動鉛筆削り FS-150 ブルー <td> PLUS   <td> 鉛筆削り <td>998 <td>3 <tr><td x:str>020630<td> 手動鉛筆削り FS-150 イエロー <td> PLUS    <td> 鉛筆削り <td>998 <td>14 </table> </html> 1.WSF内のテキスト文 (resourceData)を   変数(htmlData)に読み込む 2.一度ファイル(html.XLS)   に書き出す 3.同じファイルをExcelとして開く

17 WSFサンプル・その3-1 Excel作成 http://・・・・/iweb/WSF040.WSF
<?xml version="1.0" encoding="shift_jis"?> <!-- ************************************************************************ --> <!-- HTML ストリングから、 テキストファイル を作成し、さらにExcelとして読み込む --> <job> <?job debug="true"?> <script src=" <script> <![CDATA[ //=== ユーザー名の取得 ================================= objNet = WScript.CreateObject("WScript.Network") userName = objNet.UserName //== ユーザー名取得 //=== HTML (resource) をファイルに書き出し ========= htmlPath = "C:\\Users\\" + userName + "\\Desktop\\html.XLS" //== 出力ファイル名 htmlData = getResource( "resourceData" ) fso = WScript.CreateObject("Scripting.FileSystemObject") //==FileSystemObject を生成 htmlStream=fso.CreateTextFile( htmlPath ) //==TextFile 作成 htmlStream.Write(htmlData) //==HTML を書き出し htmlStream.close() //=== Excel を開く ===================================== var ExcelApp = new ActiveXObject( "Excel.Application" ); // Excel オブジェクトを取得 (Excel の起動 ) ExcelApp.Visible = true; // Excel アプリケーションを表示 var book = ExcelApp.Workbooks.Open( htmlPath ); // 既存のブックを開く ]]> </script>

18 WSFサンプル・その3-2  <!--- Excel作成用HTML > <resource id="resourceData"> <![CDATA[ <!--- ここ以降が、Excelとして出力される > <html xmlns:x="urn:schemas-microsoft-com:office:excel"> <style> .hdr {background-color:#dddddd;} </style> <table border=1 style=border-collapse:collapse;> <tr><th class=hdr> 品目 <th class=hdr> 品名 <th class=hdr> メーカー <th class=hdr> 品種 <th class=hdr> 単価 <th class=hdr> 在庫 <tr><td x:str>013770<td> 電動式 鉛筆削り <td> PLUS <td> 鉛筆削り <td>4194<td>25 <tr><td x:str>015498<td> 手動鉛筆削り FS-150 ブルー <td> PLUS <td> 鉛筆削り <td>998 <td>3 <tr><td x:str>020630<td> 手動鉛筆削り FS-150 イエロー <td> PLUS <td> 鉛筆削り <td>998 <td>14 </table> </html> <!--- ここ以前が、Excelとして出力される > ]]> </resource> <! > </job>

19 WSFサンプル・その4 動的HTMLからExcelを作成
WSF 1.サーバーからExcel用データを 変数(htmlData)に読み込む 2.一度ファイル(html.XLS)   に書き出す 3.同じファイルをExcelとして開く 4.開いたExcelからPDF作成 データベース

20 WSFサンプル・その4-1 Excel作成 http://・・・・/iweb/WSF041.WSF
<?xml version="1.0" encoding="shift_jis"?> <!-- ************************************************************************ --> <!-- HTML ストリングから、 テキストファイル を作成し、さらにExcelとして読み込む --> <job> <?job debug="true"?> <script src=" <script> <![CDATA[ //=== ユーザー名の取得 ================================= objNet = WScript.CreateObject("WScript.Network") userName = objNet.UserName //== ユーザー名取得 //=== HTMLをファイルに書き出し ========= htmlPath = "C:\\Users\\" + userName + "\\Desktop\\html.XLS" //== 出力ファイル名 url = " + "?USER=AXEL&PWD=XXXX&FILE=WEB5/SYOHIN&FMT=TABLE" htmlData = httpRequest(url) fso = WScript.CreateObject("Scripting.FileSystemObject") //==FileSystemObject を生成 htmlStream=fso.CreateTextFile( htmlPath ) //==TextFile 作成 htmlStream.Write(htmlData) //==HTML を書き出し htmlStream.close()

21 WSFサンプル・その4-2 Excel作成 http://・・・・/iweb/WSF041.WSF
var ExcelApp = new ActiveXObject( "Excel.Application" ); // Excel オブジェクトを取得 (Excel の起動 ExcelApp.Visible = true; // Excel アプリケーションを表示 var book = ExcelApp.Workbooks.Open( htmlPath ); // 既存のブックを開く var sheet = book.Worksheets( 1 ); // 1 シート目のシートオブジェクトを取得 sheet.Range("1:2").Insert() // シート見出し用行挿入 sheet.Cells(1,4).value=" 商品一覧 " // シート見出し設定 sheet.Cells(1,4).Font.Size = "22" // シート見出し文字サイズ //============================================================================= // PDFの作成 outfile="C:\\Users\\ohtsuki\\Desktop\\aaaaa.pdf" sheet.PageSetup.Orientation = xlPortRait // 印刷方向設定 sheet.PageSetup.Orientation = xlLandscape // 印刷方向設定 book.ExportAsFixedFormat(0, outfile, 0, true, false,1 ,999 ,true) // PDF作成 //=== Excel を閉じる =================================== book.Close( false ); // ブックを閉じる ( 保存しない ) ExcelApp.Quit(); // Excel を終了 ExcelApp = null; // オブジェクトを解放 ]]> </script> <! > </job>

22 STRWEBコマンド ■5250画面からURL呼び出し

23 STRWEBコマンドで、WSFを呼び出し
■5250画面からURL呼び出し

24 WSF活用の例 ■Dosコマンドを実行する ■ExcelからCSVファイルを作成する ■CSVファイルを開き、Excelで保管する
■Excelから、直接アップロード ■MACアドレスを取得する ■通常使うプリンターを変更する ■IEを開く ■ペイントを開く ■メールを送信する ■5250を操作する

25 STRWEBコマンドで、GoogleMapを呼び出し
■5250画面からURL呼び出し

26 STRWEBコマンドで、GoogleMapを呼び出し
■5250画面からURL呼び出し

27 株式会社 アクセル


Download ppt "(WindowScriptHostの活用)"

Similar presentations


Ads by Google