セッションIDを送らなくても、引き継がれるか実験。
■ソースコード
●PHP側 session.php
<?php session_start(); if (empty($_SESSION['count'])) { $_SESSION['count'] = 1; } else { $_SESSION['count']++; } ?> Hello world! <?php echo $_SESSION['count']; ?>Times.
http://php.net/manual/ja/session.idpassing.phpを参考に一部編集
●Excel側session.xls(2003以前の形式xlsで保存)
![]()
「ボタン1」をクリックしたときの処理
(「標準モジュール」として作成)
Sub ボタン1_Click()
target_url = "http://localhost/session.php"
sendData = ""
' POSTで飛ばします
Set httpObj = CreateObject("MSXML2.XMLHTTP")
httpObj.Open "POST", target_url, False
Call httpObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
httpObj.send (sendData)
' 結果表示
MsgBox (httpObj.ResponseText)
End Sub
■実験結果
●ボタン1をクリックすると、
Hello world! 1Times.
Hello world! 2Times.
Hello world! 3Times.
と上がっていく。ファイル(session.xls)を閉じても、Excelが開いて
いる場合は、カウントアップしていく
●Excelを閉じて、再度Excelを立ち上げ、開くと、1からカウントアップする
→つまり、Excelを閉じると、そこでセッションも切れる。
●ここで、3Timesになったとき、session.xlsをコピーし、session-コピー.xlsを
作成し、それを立ち上げ
![]()
session-コピー.xlsの「ボタン1」をクリックすると
![]()
Hello world! 4Times.
となる。つまり、Excelが同じなら、そこで開いているファイル内で
Sessionは共有される(ブラウザのタブと同じ?)
■ソースコード
●PHP側 session.php
<?php session_start(); if (empty($_SESSION['count'])) { $_SESSION['count'] = 1; } else { $_SESSION['count']++; } ?> Hello world! <?php echo $_SESSION['count']; ?>Times.
http://php.net/manual/ja/session.idpassing.phpを参考に一部編集
●Excel側session.xls(2003以前の形式xlsで保存)

「ボタン1」をクリックしたときの処理
(「標準モジュール」として作成)
Sub ボタン1_Click()
target_url = "http://localhost/session.php"
sendData = ""
' POSTで飛ばします
Set httpObj = CreateObject("MSXML2.XMLHTTP")
httpObj.Open "POST", target_url, False
Call httpObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
httpObj.send (sendData)
' 結果表示
MsgBox (httpObj.ResponseText)
End Sub
■実験結果
●ボタン1をクリックすると、
Hello world! 1Times.
Hello world! 2Times.
Hello world! 3Times.
と上がっていく。ファイル(session.xls)を閉じても、Excelが開いて
いる場合は、カウントアップしていく
●Excelを閉じて、再度Excelを立ち上げ、開くと、1からカウントアップする
→つまり、Excelを閉じると、そこでセッションも切れる。
●ここで、3Timesになったとき、session.xlsをコピーし、session-コピー.xlsを
作成し、それを立ち上げ

session-コピー.xlsの「ボタン1」をクリックすると

Hello world! 4Times.
となる。つまり、Excelが同じなら、そこで開いているファイル内で
Sessionは共有される(ブラウザのタブと同じ?)