Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6067 / 13646 ツリー ←次へ | 前へ→

【47390】hwndの旧バージョン時 アロピー 07/3/9(金) 11:37 質問[未読]
【47392】Re:hwndの旧バージョン時 Blue 07/3/9(金) 11:44 質問[未読]
【47395】Re:hwndの旧バージョン時 アロピー 07/3/9(金) 13:08 質問[未読]
【47397】Re:hwndの旧バージョン時 Blue 07/3/9(金) 13:20 発言[未読]
【47400】Re:hwndの旧バージョン時 アロピー 07/3/9(金) 13:37 お礼[未読]

【47390】hwndの旧バージョン時
質問  アロピー  - 07/3/9(金) 11:37 -

引用なし
パスワード
   初めての投稿です。
宜しくお願い致します。
現在会社にて使用しているパソコンがwin2000 vb 6.0
なのですが、下記のコードを記入するとエラーが
出てしまいます。
シロートながら 調べてhwndが無いような
気がしますが、古いバージョンにて下記コードは
使えないのですか?
もし旧バージョン時のやり方が有ればお教え下さい。

 ThisDrawing.Application.hwnd,

【47392】Re:hwndの旧バージョン時
質問  Blue  - 07/3/9(金) 11:44 -

引用なし
パスワード
   とりあえず、Excelのバージョンはいくつなんでしょうか?

Hwndプロパティがないのであれば、Win32APIの
FindWindowあたりから該当のウィンドウハンドルを取得するしか
ないですかね。

【47395】Re:hwndの旧バージョン時
質問  アロピー  - 07/3/9(金) 13:08 -

引用なし
パスワード
   回答有難う御座います。
エクセルのバージョンですが、実話使用ソフトはAutoCAD2000iです。
すみません。投稿場所が解らずこちらに書かせて頂きますた。
私個人の使用しているソフトはAutoCAD2007(最新)にては下記コードにて
動くのですが、会社にて動くよう書き換えたいのですが、
なんせvbaが、とんと解りません 是非お力をお貸し下さい。
ちなみにFindWindowはどう使えばよいのですか?

///////////////////////////////////////////////////////////
Private Declare Function SetWindowText Lib "user32" _
Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long

Public Sub addtitle()

Dim LB_Win32ApiResultCode As Long

LB_Win32ApiResultCode = SetWindowText(ThisDrawing.Application.hwnd, "AutoCAD " & ThisDrawing.GetVariable("cprofile"))

End Sub
////////////////////////////////////////////////////////////////

【47397】Re:hwndの旧バージョン時
発言  Blue  - 07/3/9(金) 13:20 -

引用なし
パスワード
   すみませんが、私はAutoCADはさっぱりわかりません。

ThisDrawing
がなんなのか?
Application
がなんなのか?

わからない以上、不確定な解答しかつけれません。


以下不確定な回答

Application.Caption

が取得できるのであれば、それをキーにFindWindow関数でウィンドウハンドル
が取得できるかも。

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
  (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Public Sub addtitle()

  Dim LB_Win32ApiResultCode As Long
  Dim hWnd As Long

  hWnd = FindWindow(vbNullString, ThisDrawing.Application.Caption)
  If hWnd <> 0 Then
    LB_Win32ApiResultCode = SetWindowText(hWnd, "AutoCAD " & ThisDrawing.GetVariable("cprofile"))
  End If

End Sub

# そもそも、SetWindowTextを使わなくても、文字列を入れることはできないのかなぁと。

これできなければ、私はわかりません。
Excel VBAの掲示板ですので回答が着くのは期待できないでしょうが。

【47400】Re:hwndの旧バージョン時
お礼  アロピー  - 07/3/9(金) 13:37 -

引用なし
パスワード
   場違いな質問にも関わらず
回答して頂き大変有り難く思います。
もう少し自分も勉強して問題を解決したいと
思います。
有難う御座いました。

6067 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free