http://www.excellenceweb.net/vba/api/what_window …
のページを参考にPC起動時間を取得したいのですが
サンプルは単位がミリ秒になっています。
--------------------------------------------------
Declare Function GetTickCount Lib "kernel32.dll" () As Long
Sub TEST1()
Dim Tickcount As Long
'GetTickCount関数から、起動からの時間が返される
Tickcount = GetTickCount()
MsgBox "PC起動から " & Tickcount & " ミリ秒経過しています"
End Sub
--------------------------------------------------
○時間○分○秒にしたいのですが
どうすればいいでしょうか?
Formatを使うと思うのですが
どういうコードを書けばいいのかわかりません。
ご教授よろしくお願いします。
No.6
- 回答日時:
こんなのとか
Declare Function GetTickCount Lib "kernel32.dll" () As Long
Sub TEST1X()
Dim Tickcount As Long
'GetTickCount関数から、起動からの時間が返される
Tickcount = GetTickCount() / 1000
MsgBox CLng(DateAdd("s", Tickcount, 0)) & "日と" & TimeValue(DateAdd("s", Tickcount, 0))
End Sub
No.4
- 回答日時:
GetLocalTime は時刻を返す関数ですから、時間を計算するのはかえって面倒になりますよ。
C言語の localtime 関数なら秒から時刻に変換できます。ミリ秒から変換する必要がありますが。
確かに一般に、誰でも使う機会がある機能を再発明するのはよくないとされていますが、この場合は当てはまらないでしょう。
正直に言って、プログラミングの勉強の前に小学校の算数をやり直すことをお勧めします。
No.3
- 回答日時:
GetLocalTimeじゃなくて、GetSystemTimeの誤りでした、大変失礼。
ただ、残念ながら、どちらを使っても無理みたいですねえ。
MSDNを見た限りでは、GetTickCountのミリ秒から時分秒に変換できるAPIは無いようです。
自力で変換するしかないと思います。VBの割り算は四捨五入なのでFix関数を通さないと計算結果が狂うみたいです。
とりあえず、これで出来ませんかね。因みに、Microsoft Office Excel 2007 VBAで試してます。
Declare Function GetTickCount Lib "kernel32.dll" () As Long
Type HMS
h As Long
m As Long
s As Long
End Type
Sub MS2HMS(ByRef r As HMS, ByVal tick As Long)
tick = tick / 1000
r.h = Fix(tick / 3600)
r.m = Fix((tick - (r.h * 3600)) / 60)
r.s = tick - ((r.h * 3600) + (r.m * 60))
End Sub
Sub TEST1()
Dim Tickcount As Long
Dim result As HMS
'GetTickCount関数から、起動からの時間が返される
Tickcount = GetTickCount()
MS2HMS result, Tickcount
MsgBox "PC起動から " & Tickcount & " ミリ秒経過しています"
MsgBox "" & result.h & " 時 " & result.m & " 分 " & result.s & " 秒 "
End Sub
No.2
- 回答日時:
GetTickCountじゃなくて、GetLocalTimeだったら一発で取得できて変換の必要はないと思うんですが、駄目なんですかね。
http://wisdom.sakura.ne.jp/system/winapi/win32/w …
http://msdn.microsoft.com/ja-jp/library/cc429760 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Excel(エクセル) Excel-VBAの「しばらくお待ちください」のダイアログが自動的に閉じない 2 2023/05/24 15:31
- Access(アクセス) Vba Userformを前面に出すについて 3 2022/04/15 12:29
- Visual Basic(VBA) VBA 配列を使ったコードに直していただけますか 4 2023/05/06 15:18
- Visual Basic(VBA) VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます 1 2022/10/15 16:30
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・ハマっている「お菓子」を教えて!
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アウトルックが起動しているか...
-
フォームの最前面が効かない
-
VBSから別のVBS起動するとき変...
-
Process.Startで起動したアプリ...
-
VBAでOutlookを終了させたい Ex...
-
Java 条件によって起動させない
-
EXCEL VBAから他アプリケーショ...
-
MSペイントを画像ファイル名を...
-
宛先ナシでメールソフトを起動...
-
VBSで起動したアプリが前面表示...
-
Excelの残骸
-
C# 他のアプリケーションを優先...
-
VBAでSeleniumからChromeを起動...
-
対象のアプリケーションが終了...
-
VB6で呼び出し元の情報を取得す...
-
phpで、メール自動受信を作りたい
-
VBからExcelに書き込む方法
-
EclipseとTomcat使用時、すぐに...
-
Designer.vbは直接コードをいじ...
-
Visual Studio 「AnyCpu」について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アウトルックが起動しているか...
-
VBSから別のVBS起動するとき変...
-
VBAでOutlookを終了させたい Ex...
-
VBで実行中のEXEファイルの情報...
-
Windows上のプログラム。「予め...
-
EXCEL VBAから他アプリケーショ...
-
VBSで起動したアプリが前面表示...
-
Process.Startで起動したアプリ...
-
exeファイルを実行するとすぐに...
-
VB6で呼び出し元の情報を取得す...
-
C# 他のアプリケーションを優先...
-
64bitで作ったEXEを32bitで起動...
-
ウィンドウを終了させたい・・・
-
CreateProcessのエラー
-
VBAでSeleniumからChromeを起動...
-
VBA 最大化する方法
-
MSペイントを画像ファイル名を...
-
ACCESS VBAで別のACCESS(mdb)を...
-
HTMLタグの中にDLLを埋め込む事...
-
VBからExcelに書き込む方法
おすすめ情報