アプリ版:「スタンプのみでお礼する」機能のリリースについて

ダイアログを開いてファイルを選択するプログラムを作るように頼まれましたが、困ってます。
ちなみにこのファイルはASPのものです。

<SCRIPT LANGUAGE=JAVASCRIPT FOR=CommonDialog1>
FUNCTION CDLPROPGET(){
DOCUMENT.FORMS[0].FLNM.VALUE=DOCUMENT.COMMONDIALOG1.FILENAME;
DOCUMENT.FORMS[0].SUBMIT();
}
</SCRIPT>
</HEAD>

<OBJECT ID="COMMONDIALOG1"
CODEBASE=HTTP://ACTIVEX.MICROSOFT.COM/CONTROLS/VB6/COMDLG32.CAB#VERSION=6,0,81,69
CLASSID=CLSID:F9043C85-F6F2-101A-A3C9-08002B2F49FB
WIDTH=32
HEIGHT=32>
<PARAM NAME="DIALOGTITLE" VALUE="ファイルを選択してください">
<PARAM NAME="INITDIR" VALUE="C:\MY DOCUMENTS">
<PARAM NAME="FILTER" VALUE="EXCELファイル|*.xls">
<PARAM NAME="FilterIndex" VALUE="1">
</OBJECT>

<form action="UdbNyuryoku2.asp" target="main" method="POST">
<input type="hidden" name="FlNm" value="">
<input onclick=CommonDialog1.ShowOpen();cdlPropGet() type=button value="開く" style="width=100"></input>
</form>

</body>


このコードは98では問題なかったのですが、2000上で実行すると、ダイアログが開きませんでした。原因がわからず困っています。よろしくお願いいたします。

A 回答 (2件)

スタイルでテキストやボタンを隠しちゃったらだめですか?



http://www.microsoft.com/japan/msdn/columns/webt …

ちなみに、書いていただいたJScript(JavaScriptではないですよ、ActiveXつかっちゃってるんで)のような感じで、
ファイルを選択するダイアログは残念ですが表示できません。Windowsが提供していないからです。

#よく探しましたね、こんな方法。VB使ってる人でも知らない人多いのに。
    • good
    • 0
この回答へのお礼

ありがとうございます!!教えていただいたURLを参考にしたら出来ました!
なんとお礼を言っていいのやら^^
file属性はテキスト、ボタンを消せないと思ってたので、ビックリしてます。
納期が近くあせっていたのでほんとに助かりました。
また何かありましたら、よろしくお願いいたします。

お礼日時:2003/07/13 00:02

<input type="file"> じゃ、まずい?


そんなActiveXコントロール使うんじゃなくて

http://selfhtml-jp.teamone.de/html/formulare/dat …

参考URL:http://selfhtml-jp.teamone.de/html/formulare/dat …
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。
残念ながら今回の私が扱っている仕様では <input type="file"> は許可されないみたいです。
このタグを使うと、テキストフィールドや、ボタンが表示されてしまうからです。
あと、質問なのですが、
javascriptには下記のようなコードですと、フォルダを開くことは出来るのですが、ファイルを選択することが出来ませんでした。この方法でファイルも操作できる方法はありますでしょうか?


function ShellBrowseForFolder(message) {
var objShell = new ActiveXObject("Shell.Application");
var bifReturnOnlyFsDirs = 1;
var objFolder;

objFolder = objShell.BrowseForFolder(0, message, bifReturnOnlyFsDirs);


if (objFolder != null) {
var objFolderItems;
objFolderItems = objFolder.Items();
if (objFolderItems != null) {
var objFolderItem;
objFolderItem = objFolderItems.Item();
if (objFolderItem != null) {
var ret = objFolderItem.Path + "\\";
document.write(ret);
return ret.replace(/\\\\$/, "\\");
}
}
return "";
}
return null;
}

お礼日時:2003/07/11 17:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!