VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2004/09/10(Fri) 11:01
投稿者ぺる
URL
タイトル「名前をつけて保存」ダイアログ

VB6.0からExcel2000にデータを渡し、そのExcelをファイルとして保存したいのですが、
「名前をつけて保存」ダイアログを表示する際、そのダイアログからフォルダの階層を
辿っていくと、途中でダイアログが他の画面の後ろに隠れてしまいます。

これを回避しようとして、ダイアログを表示する前に、『SetWindowPos』を入れている
のですが、いまくいきません。
そもそも、Excelから表示されるダイアログを常に最前面に表示することは
可能なのでしょうか?

下に、私が書いているコードを挙げておきます。
(ここでは、Excelをプレビュー後、Excelを閉じるときに「名前をつけて保存」ダイアログが
表示されます。『SetWindowPos』は入れる場所がわからなかったので、プレビュー前と、
ダイアログ表示前の2箇所に入れています。)

lhwnd = GetForegroundWindow
Call SetWindowPos(lhwnd, -1, 0, 0, 0, 0, &H40 Or &H1 Or &H2)
'シートの印刷プレビュー
xlSheet.PrintPreview
        
Dim myFileName As Variant
lhwnd = GetForegroundWindow
Call SetWindowPos(lhwnd, -1, 0, 0, 0, 0, &H40 Or &H1 Or &H2)
'名前を付けて保存ダイアログを表示
myFileName = xlApp.GetSaveAsFilename(C_PRT_DEFAULT, C_PRT_FILE_VALUE)

以上、よろしくお願いいたします。


- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -