
VB2008でWIN32APIのGetSystemTimeを使用するコードを記述しましたが
SYSTEMTIME構造体に正しい値がセットされません。
ExcelのVBAにて同様のコードを記述し実行したところこちらは問題が
ないようです。
コードの記述に誤りがあるのか、それとも設定なのかいろいろ調べて
みましたが解決しませんでした。
どうか皆様のお力添えをお願いいたします。
■環境
Windows xp HOME SP3
VisualBasic Express Edition SP1
■VB 2008 コード
---------------------------------------------------
Public Structure SYSTEMTIME
Public wYear As Integer
Public wMonth As Integer
Public wDayOfWeek As Integer
Public wDay As Integer
Public wHour As Integer
Public wMinute As Integer
Public wSecond As Integer
Public wMilliseconds As Integer
End Structure
Public Declare Sub GetSystemTime Lib "kernel32" Alias "GetSystemTime" ( _
ByRef lpSystemTime As SYSTEMTIME)
Public Sub Wait()
Dim st As SYSTEMTIME
Call GetSystemTime(st)
Debug.Print (st.wYear & "/" & st.wMonth & "/" & st.wDay & " " & st.wHour & ":" & st.wMinute & ":" & st.wSecond & ":" & st.wMilliseconds)
End Sub
---------------------------------------------------
VB 2008 実行結果
657369/393218/35782700 0:0:0:0
■Excel2003 VBA コード
---------------------------------------------------
Public Declare Sub GetSystemTime Lib "kernel32" ( _
ByRef lpSystemTimeLib As SYSTEMTIME)
Public Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type
Private Sub TES()
Dim st As SYSTEMTIME
Call GetSystemTime(st)
Debug.Print (st.wYear & "/" & st.wMonth & "/" & st.wDay & " " & st.wHour & ":" & st.wMinute & ":" & st.wSecond & ":" & st.wMilliseconds)
End Sub
---------------------------------------------------
Excel 2003 SP3 実行結果
2009/10/6 6:19:37:453
No.1ベストアンサー
- 回答日時:
下記でそれぞれのIntegerのサイズを確認してください。
その上で、適正な型で宣言しなおしてください。
VBA、VB6のデータ型のサイズ
http://www.geocities.jp/cbc_vbnet/kisuhen/hensuu …
.NETのデータ型のサイズ
http://homepage1.nifty.com/rucio/main/kiso/DataT …
cistronezk様
有り難うございます!解決いたしました。
検索で参考にしていた幾つかのサイトでもご指摘のように
Short型で宣言されていました…
SYSTEMTIMEはAPIビュワーを使用して貼り付けしていましたので、
盲目的に信用してしまっていました。これでは「いろいろ調べた」
等と言っている自分が情けないかぎりです。
もう一度、基礎からやり直す事にいたします。
この度は本当に有り難うございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
プログラムの記法 インラインコ...
-
1日に1人がこなせるプログラム...
-
JANコードとPOSコードは同じ?
-
1、Rstudioで回帰直線を求める...
-
ゲームのアルゴリズム
-
Accessでの抽出で完全一致。
-
ACCESSで、履歴事項を管理する...
-
PreviewKeyDownイベントが2回...
-
VBAでファイルオープン後にコー...
-
AccessでReplace関数を使うときに…
-
エクセルに見えない文字(JISX0...
-
VB2008でGetSystemTimeが正常に...
-
MessageBoxで表示される文字列...
-
Nullの使い方が不正です。
-
ExcelVBAで「Shift_JIS(MS932)...
-
特定行の背景色を変えたいのですが
-
アクセスで桁数を増やしたい
-
Excel VBAについて
-
変数名「cur」について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
access2021 VBA メソッドまたは...
-
1日に1人がこなせるプログラム...
-
JANコードとPOSコードは同じ?
-
1、Rstudioで回帰直線を求める...
-
access2003 クエリSQL文に...
-
Exel VBA 別ブックから該当デ...
-
JavaScriptの定数名が取り消し...
-
COBOLの文法
-
VBAでファイルオープン後にコー...
-
変数名「cur」について
-
エクセルに見えない文字(JISX0...
-
オートフィルタで抽出結果に 罫...
-
Nullの使い方が不正です。
-
PreviewKeyDownイベントが2回...
-
【VB6】実行ファイルとした後、...
-
Javaの改行について
-
C# コードビハインドについて
-
Excelシート上で右クリックがで...
-
木偏に「久」
おすすめ情報