人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPで業務システムを作っています。

やろうとしていることは、例えば「Excel出力」というボタンをクリック時に
?PHPでEXCEL出力処理を行い、サーバ上の所定のフォルダへ保存
?クライアント端末名を取得し、?のEXCELファイルをクライアントの所定のフォルダへコピー
(?更に可能ならそのExcelファイルがOPENされて最前面に表示された状態で処理終了)
という一連が実行されるようにしたいです。

※?でクライアントの所定のフォルダに置くのは、他システムとの連携の関係上意味があります。

ですが、クライアントサイドの言語をちゃんと勉強したことがないため、?以降がわかりません。
どのような方法がありますか?
(サンプルコードもいただけたらありがたいです)

いろいろググったりしては見ましたが、
ブラウザ上での端末名の取得にはJscriptやVBscriptの一部(取得部分のみ)が紹介されていたりして、どう使用してよいかわかりませんでした。

環境は、社内LAN環境で、Windows、使用ブラウザはie8固定、クライアント端末のドライブやフォルダ構成は同じです。

どうかよろしくお願いします。

●質問者: kon39392
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● oil999
●200ポイント ベストアンサー

?クライアント端末名を取得

Windowsのコンピュータ名の取得を意図しているなら、VBScriptで下記のように記述します。ブラウザはIE限定です。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<script language="VBScript">
<!--
Function getComputerName()
 Set objNetWork = CreateObject("WScript.Network")
 getComputerName = objNetWork.ComputerName
 Set objNetWork = Nothing
End Function

MsgBox getComputerName()
-->
</script>
</body>
</html>


?のEXCELファイルをクライアントの所定のフォルダへコピー

サーバのフォルダをpath0、ファイル名をfname、クライアントのフォルダをpath1とします。

Function copyFile(path0, fname, path1)
 Set objWS = CreateObject("WScript.Shell");
 cmd = "copy " & path0 & fname & " " & path1
 objWS.run(cmd);
End Function


IEからExcelを起動する。

以下のようにします。

Function runExcel(path1, fname)
 With CreateObject("Excel.Application")
 .Visible = True
 .Workbooks.Open (path1 & fname)
 End With
End Function

kon39392さんのコメント
ご回答ありがとうございます。 上記を動作させるには、IE設定で『スクリプトを実行しても安全・・・ではない』のところで有効にする必要があるようですね。 ちなみにIE設定をいじらずに済む方法はご存じありませんか?

oil999さんのコメント
**ちなみにIE設定をいじらずに済む方法はご存じありませんか? ありません。 要望を実現するにはActiveXを使う必要があり、このためIE限定です。そのIEのデフォルト設定ではセキュリティの関係上、スクリプトが実行できないようになっているため、手作業で解除してやる必要があります。

kon39392さんのコメント
ありがとうございました。参考になりました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ