- 締切済み
EXCELの操作
以下、VBScriptを使って、EXCELのセル(A1)にブラウザのフォーム内容を書き込むプロシージャです。 ここで「すでにこのシートが開かれていたらいったん閉じて、再び同シートを開いて書き込む」 という指示を追加したいときは、どのような文が必要でしょうか。 dim objXL sub openExcel set objXL = GetObject("ファイル名") objXL.application.window(1).visible = true objXL.application.visible = true call writeToSheet end sub sub writeToSheet dim sht set sht = objXL.sheets(1) dim frm set frm = Document.forms("フォーム名") sht.range("a1").value = frm.elements("エレメント名").value end sub
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- FlossenEngel
- ベストアンサー率77% (132/170)
問答無用で開き直すというのはダメでしょうか(^^;) Set objXL = GetObject("ファイル名").Application objXL.DisplayAlerts = false objXL.Workbooks.Open "ファイル名" objXL.DisplayAlerts = true objXL.Windows(1).Visible = true objXL.Visible = true
- VT250F
- ベストアンサー率30% (26/84)
ブックが開かれているかどうかは以下の関数を作ればでわかりますので、 参考にして下さい。 そのシートを開いているかどうかは、アクティブなシート名を求める関数がエクセル側にあったと思います。エクセルのヘルプで調べて見て下さい。 シートを閉じるならクイットだか、クローズだかのメソッドを呼べばいいと思います。確か保存の問い合わせをどうするかと言うオプション指定もあったははずですよ。 Private Sub Form_Load() Dim wkReturn As Boolean wkReturn = FileChk("ファイル名のフルパスを指定します") If wkReturn = True Then Debug.Print "使用中" Else Debug.Print "未使用" End If End End Sub 'ファイルが使用されているかチェックする Private Function FileChk(pFilePath As String) As Boolean On Error GoTo ER_FileChk Open pFilePath For Input Access Read Lock Read As #1 Close #1 Exit Function ER_FileChk: FileChk = True End Function
お礼
参考になりました。ありがとうございました。
お礼
参考になりました。ありがとうございました。