• ベストアンサー

コマンドボタンをクリックしたら、「試験まであと●日

とある試験のサイトを作っています。 試験日が9/9なのですが、 コマンドボタンをクリックしたら、「試験まであと●日です」と表示させたいのですが どうすればいいのでしょうか? VBAはわかるのですが、VBAで例えるのなら Sub test() Dim TestDay As Date TestDay = #9/9/2012# MsgBox "試験まであと" & TestDay - Date & "日です" End Sub をHTMLでやりたいです。ご教授よろしくお願いします。

  • HTML
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • keronjin
  • ベストアンサー率50% (83/166)
回答No.1

<html> <head> <title></title> <script type="text/javascript"> <!-- function msg() { var date = new Date(); var dt1 = new Date(2012, 9 - 1, 9); var dt2 = new Date(date.getFullYear(), date.getMonth(), date.getDate()); var days = ( dt1 - dt2 ) / 86400000; alert("試験まであと" + days + "日です"); } //--> </script> </head> <body> <form> <INPUT TYPE="button" VALUE="残日数を表示" onClick="msg()"> </form> </body> </html>

wre234
質問者

お礼

できました!ありがとうございました。

関連するQ&A

  • エクセルVBAでフォームのボタンとコントロールツールボックスのコマンドボタン

    エクセルVBAでフォームのボタンとコントロールツールボックスのコマンドボタンについて教えてください。 実はこれまでフォームしか使ったことがないのですが、フォームのボタンですと、下記のように一つのプロシージャを多数のボタンから呼び出し、呼び出したボタンにより異なった指示が出来ます。 Sub test() x = Application.Caller Select Case x Case "ボタン 1" MsgBox 1 Case "ボタン 2" MsgBox 2 Case "ボタン 3" MsgBox 3 Case "ボタン 4" MsgBox 4 End Select End Sub コントロールツールボックスは Private Sub CommandButton1_Click() MsgBox 1 End Sub Private Sub CommandButton2_Click() MsgBox 2 End Sub のようにコマンドボタンごとにひとつずつ書くしかないのでしょうか?

  • コマンドボタンに二回目のマクロ実行しない設定を

    excel2007を使ってマクロ作成の初心者です。 「最新明細」シート上に、ユーザーフォームがあります。 その中のコマンドボタンクリックすると マクロ2を実行します。 しかし、このマクロは月初めに1回だけ実行し、 再びボタンをクリックしても、マクロ2を実行しないようにしたいです。 いろいろ考えたましたが、思ったように動作させることできず、こまってます。 どうしたらよいのでしょう。 Sub 処理済の確認() Dim AB3 As Date Dim AB4 As Date Sheets("計算").Select If AB3 = AB4 Then Exit Sub MsgBox "データは処理済みです。" Sheets("最新明細").Select Else End If If AB3 <> AB4 Then マクロ2の実行 End If End Sub

  • キャンセルボタンをクリックしたかどうかを取得したい

    InputBoxでもしキャンセルボタンが押されたら・・・ってどうやればいいですか? Sub あああ() Dim a As String a = InputBox("文字を入れてください。") MsgBox a End Sub をした時に、キャンセルボタンをクリックしたかどうかを取得したいのですが、どうすればいいんですか? a = InputBox("文字を入れてください。") の次に Cancel = True をいれても vbCancel = True をいれてもエラーになります。 Sub あああ() Dim a As String a = InputBox("文字を入れてください。") If a = "" Then MsgBox "キャンセルが押されました" End If End Sub これだとOKでもキャンセルでもメッセージが表示されます。

  • Access2002:コマンドボタンがうまく設定できません

    使い始めてから2週間目の初心者です。よろしくお願いします。 コマンドボタンウィザードでフォーム上にコマンドボタンを作成したのですが、クリックしても反応しません。 初めは問題なく作成できたのですが、突如としてうまく動作するボタンが作成できなくなってしまいました。 ウィザードで作成した「レコードの検索」ボタンですら無反応です。 あるフォームのイベントプロージャ(?)は以下のようになっています。 (★はコメントです) Option Compare Database Private Sub テスト15:09_Click() End Sub Private Sub 部番一覧→部番詳細フォーム_Click()★←正しく動作しているボタン★ On Error GoTo Err_部番一覧→部番詳細フォーム_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "部番詳細表示" stLinkCriteria = "[部番]=" & "'" & Me![部番] & "'" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_部番一覧→部番詳細フォーム_Click: Exit Sub Err_部番一覧→部番詳細フォーム_Click: MsgBox Err.Description Resume Exit_部番一覧→部番詳細フォーム_Click End Sub←★この下に区切り線が表示されません★ Private Sub テスト15:09_Click()★←無反応のボタン。文字色赤になっています★ On Error GoTo Err_テスト15:09_Click Screen.PreviousControl.SetFocus DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70 Exit_テスト15:09_Click: Exit Sub Err_テスト15:09_Click: MsgBox Err.Description Resume Exit_テスト15:09_Click End Sub 単純ミスだと思うのですが、原因がわかりません。 どなたかわかりやすく教えいただけないでしょうか。ちなみにVBの知識は皆無です。よろしくお願いします。

  • コマンドボタンをクリックしても作動せず

    いつもお世話になります。 WINDOWS7 EXCELL2010 です。 下記のマクロで  1 シート「元本」のコピーをコマンドボタンをクリックしても作動しません。    ボタンの所にポメイントを当てても十字に変化して固まった状態なります。  2  K3:S32の範囲で○や△がWクリックしても値を返しません。 このブックの他にはいくつかマクロがありそれらは作動しこの「元本」の下記のマクロ のみ作動しません。 今までは作動していたのですがなぜなんでしょうか。 この不具合をどうすればいいか御指導いただけませんでしょまうか。 参考に Private Sub CommandButton1_Click() Dim NewSheetName As String Dim c As Object Dim MatchFLG As Boolean Do MatchFLG = False NewSheetName = InputBox("一桁の月及び日でも二桁のMMDD形式で4桁の新しいシート名を入力してください。例:1月1日を0101のように") If StrPtr(NewSheetName) = 0 Then MsgBox "キャンセルします", vbInformation Exit Sub ElseIf NewSheetName = "" Then MsgBox "未入力です", vbExclamation Exit Sub End If For Each c In Worksheets If c.Name = NewSheetName Then MatchFLG = True MsgBox ("既に、同名のシートがあり再度入力し直して下さい。"), vbExclamation Exit For End If Next Loop Until MatchFLG = False Sheets("元本").Copy After:=Sheets("元本") With ActiveSheet .Name = NewSheetName With .Range("A1") .NumberFormatLocal = "0000" .Value = NewSheetName End With .OLEObjects("CommandButton1").Delete .Range("A2").Select End With Sheets("元本").Activate Application.ScreenUpdating = True End Sub Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim myRange As Range Set myRange = Intersect(Target, Range("K3:S32")) If Not myRange Is Nothing Then Select Case Target.Value Case "" Target.Value = "○" Case "○" Target.Value = "△" Case Else Target.ClearContents End Select Cancel = True End If End Sub

  • VBA 標準モジュールとフォーム

    ある標準モジュール内で生成した変数の値をフォームのコマンドボタンをクリックしたら表示されるプログラムはどうやってつくるのですか? 標準モジュール sub test() dim a as integer dim b as integer dim sum as string a=5 b=1 sum=a+b End sub フォームのコマンドボタンクリック Sub CommandButton1_Click() MsgBox sum End Sub 標準モジュールで計算した答えがフォームのコマンドボタンをクリックしたら答え6が表示されるようにしたいのですが、どうしたらできますか?

  • [Excel VBA]コマンドボタンの入力待ち方法

    コマンドボタンの入力を待つ方法についてご教示願います、 以下に詳しい状況と、具体的な質問を記載します。 【構成】 ・ユーザーフォーム上に5つのコマンドボタン(CommandButton1~CommandButton5) 【やりたいこと】 ・CommandButton1を押したらスタート ・1ラウンドにつき1回、CommandButton2~CommandButton5のいずれかのボタンが押せる。  そして、押されたボタンが何かを毎ラウンド判定する。  これを10ラウンドまで繰り返す。 (つまり、どのボタンが押されたかを10回判定する) なお、「ボタンが押されるまでは勝手にループしないこと」。 【コード】(UserFrom1に記載。質問用として、変数名は仮に日本語にしてあります) Public 押された As Long Dim 現在のラウンド As Long Dim 最終ラウンド As Long Private Sub ラウンド処理() 最終ラウンド = 10 For 現在のラウンド = 1 To 最終ラウンド ボタン判定 Next 現在のラウンド End Sub Private Sub ボタン判定() MsgBox 現在のラウンド & ":" & 押された End Sub Private Sub CommandButton1_Click() ラウンド処理 End Sub Private Sub CommandButton2_Click() 押された = 2 End Sub Private Sub CommandButton3_Click() 押された = 3 End Sub Private Sub CommandButton4_Click() 押された = 4 End Sub Private Sub CommandButton5_Click() 押された = 5 End Sub 【詰まっている点】 ボタンの入力待ちになるような文が入っていないため、 「1:0」「2:0」「3:0」…「10:0」とmsgboxが出るだけの状態です。 (当然ですが…) VBAの 【質問】 毎ラウンドごとにボタンの入力待ちのような状態を 「できるだけこの形を崩さずに」組み込むためには、どのような処理を加えればいいでしょうか。

  • 「何年と何日前」と表示したい

    Sub test1() Dim dtm日付 As Date Dim i As Integer dtm日付 = #1/1/2010# i = Date - dtm日付 MsgBox i & "日前" End Sub これで、何日前かは取得できたのですが 何年と何日形式にするにはどうすればいいでしょうか

  • 同じコマンドボタンからマウスカーソルがはなれたら

    フォーム上のコマンドボタンにマウスカーソルが触れたら色を付ける、 同じコマンドボタンからマウスカーソルがはなれたら 、また色を変える、 という動きをvbaで行いたいのですが、 Private Sub cmd_test_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Me.cmd_test.BackColor = RGB(255, 180, 200) End Sub で、マウスカーソルが触れたら色を付けることはできたのですが、 マウスカーソルがそのコマンドボタンから離れたら色を変えるという動きができません。 Private Sub cmd_test_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Me.cmd_test.BackColor = RGB(255, 255, 255) End Sub Private Sub cmd_test_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) Me.cmd_test.BackColor = RGB(255, 255, 255) End Sub Private Sub cmd_test_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Me.cmd_test.BackColor = RGB(255, 255, 255) End Sub をしても、マウスカーソルが離れても色が白になりませんでした。

  • エクセルVBA:全部のコマンドボタンに反映させる方法。

    エクセルVBA:全部のコマンドボタンに反映させる方法。 コマンドボタンにVBAを記述してフォルダを開いたり、 ブラウザを立ち上げたりしています。 現在の状態ですと、 そのコマンドボタン毎にwithの記述をしています。 ボタンが十個ある場合、↓の文を10回書いています。 Dim ooo as worksheet set ooo = Thisworkbook.worksheets("test") with ooo ***中身の記述 end with これを10回かかずに、1回どこかに記述するだけで 全てのボタンに反映させる方法はありませんか? public sub で記入して callで呼び出しても end with で終わってしまうため、 .cell(*.*)が使えなくて困っています・・・ 宜しくお願いします。

専門家に質問してみよう