
Windows10(64bit) & Excel2013(64bit)です。
以前Windows7(32bit) & Excel2013(32bit)ではFormが常に手前に表示されていましたがWindows10に変更してから、Formが隠れてしまいます。
Netでもいろいろ調べましたが原因がわかりません。何卒ご教示願えればと投稿させていただきました。
よろしくお願いします。
ソースは次の通りです。Formにはコマンドボタンを1つ配置しただけの単純なFormです。
’UserForm1
#If VBA7 And Win64 Then
Private Declare PtrSafe Function FindWindow Lib "user32.dll" _
Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare PtrSafe Function SetWindowPos Lib "user32" _
(ByVal hwnd As Long, _
ByVal hWndInsertAfter As Long, _
ByVal x As Long, ByVal y As Long, _
ByVal cx As Long, ByVal cy As Long, _
ByVal wFlags As Long) As Long
#Else
Private Declare Function FindWindow Lib "user32.dll" _
Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function SetWindowPos Lib "user32" _
(ByVal hwnd As Long, _
ByVal hWndInsertAfter As Long, _
ByVal x As Long, ByVal y As Long, _
ByVal cx As Long, ByVal cy As Long, _
ByVal wFlags As Long) As Long
#End If
Private Const HWND_TOPMOST As Long = -1
Private Const SWP_NOSIZE As Long = &H1&
Private Const SWP_NOMOVE As Long = &H2&
Private URL As String
Private IE As Object
Private OBJ As Object
Private Sub UserForm_Activate()
Dim hwnd As Long
hwnd = FindWindow(vbNullString, Me.Caption)
Call SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
End Sub
Private Sub CommandButton1_Click()
URL = "http://maps.google.co.jp/maps?hl=ja&dirflg=d&sad … _
& EncodeURL("大阪府大阪市北区中之島1丁目3-20 ") _
& "&daddr=" & EncodeURL("東京都新宿区西新宿2-8-11")
Set IE = CreateObject("InternetExplorer.Application")
With IE
.Navigate (URL)
.Toolbar = False
.Visible = True
.Top = 0
.Left = 0
.Width = 1920
.Height = 1080
Do While .Busy = True
DoEvents
Loop
Do While .document.readyState <> "complete"
DoEvents
Loop
End With
End Sub
' ##### URL エンコード
Private Function EncodeURL(ByVal sWord As String) As String
Dim D As Object
Dim elm As Object
sWord = Replace(sWord, "\", "\\")
sWord = Replace(sWord, "'", "\'")
Set D = CreateObject("htmlfile")
Set elm = D.createElement("span")
elm.setAttribute "id", "result"
D.appendChild elm
D.parentWindow.execScript "document.getElementById('result').innerText = encodeURIComponent('" & sWord & "');", "JScript"
EncodeURL = elm.innerText
End Function
No.1ベストアンサー
- 回答日時:
>Excel2013(64bit)です
なので、hwndの型はLongでなくてLongPtrになります。
'宣言の変更
Private Declare PtrSafe Function SetWindowPos Lib "user32" (ByVal hwnd As LongPtr, ByVal hWndInsertAfter As LongPtr, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
>Dim hwnd As Long
Dim hwnd As LongPtr
kumatti_1さん。
御教示ありがとうございました。
お陰様で大変助かりました。
ただ32bitではLongとしていたものをすべてLongPtrになるわけではないのですね。
このあたりの識別がわかりません。
Declare PtrSafe Function SetPixelV Lib "gdi32" (ByVal hDC As Long, _
ByVal X As Long, _
ByVal Y As Long, _
ByVal crColor As Long) As Long
Declare PtrSafe Function GETDC Lib "user32" Alias "GetDC" (ByVal hWnd As Long) As Long
などはLongのままで支障なく使えています。もうすこし自己学習が必要なようです。がんばって
みます。本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ASP.NETのDLL入れ替えについて
-
visual studioの不要なDll削除方法
-
指定された引数が有効範囲にな...
-
user32.dllがないためアプリが...
-
M365にアップデートしてからコ...
-
VBからIMEパッドを呼び出す方法...
-
wavからmp3に変換する方法
-
ファイルをvbaで圧縮したいので...
-
VC++6.0 でのライブラリ参照方法
-
python エラー
-
DLLファイルの逆コンパイラにつ...
-
<unistd.h>をVisualStudioでつ...
-
バッチからsqlplusの接続エラー...
-
未解決の外部シンボル
-
” OS ビルド ” の意味が分か...
-
unsigned long long 型のフォー...
-
visual studio2019でデバッグが...
-
Win8 で ASPのデバッグをするに...
-
fatal error LNK1112
-
DLL参照時に指定されたモジュー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
指定された引数が有効範囲にな...
-
ASP.NETのDLL入れ替えについて
-
res://ieframe.dll/について
-
user32.dllがないためアプリが...
-
visual studioの不要なDll削除方法
-
C# DLL エントリ ポイントが...
-
VB6.0(SP6)にて開発を行なって...
-
VBAエディタのコード画面で、カ...
-
VC++2010でdllファイルの作成に...
-
vb6で作成した画面が処理に時間...
-
VBにてIMEの入力モードを変える...
-
*.exeと異なるフォルダのDLLを...
-
手書き文字認識のdll
-
VC++6.0 でのライブラリ参照方法
-
MFC7.0ランタイムライブラリ
-
ファイルをvbaで圧縮したいので...
-
VB2005ExpressEditionでのUnlha...
-
APIの呼び出しDLLファイルの場...
-
scrrun.dllの読み方を教えてく...
-
M365にアップデートしてからコ...
おすすめ情報