VB6ですと
ShellExecute(Me.Handle, "open", "History.csv", "", "", 3)
とするとエクセルが開いて「History.csv」が観覧できるのですが、VB.netだと、エラーがでないもののエクセル画面がでてきません。なぜでしょうか?
また、ShellExecuteに変わるような関数がありますでしょうか?
以下はソースです、パスは間違っていないし、返り値は562954248388610となっています。
i = ShellExecute(Me.Handle.ToInt64, "open", sFolderPullPath & "SerialHistory.csv", "", "", 3)
No.4ベストアンサー
- 回答日時:
こんにちは、じゃんぬねっと です。
ついでなんで以下についてもお答えします。
# まあ、余談に近いのですが...
> 以下はソースです、パスは間違っていないし、返り値は562954248388610となっています。
> i = ShellExecute(Me.Handle.ToInt64, "open", sFolderPullPath & "SerialHistory.csv", "", "", 3)
これは、Declare の宣言が間違ってるんじゃないでしょうか?
VB6 での Long は、VB.NET では Integer (Int32) です。
戻り値が Long (Int64) になっているのならば、未定義の上位ビットが返ってきちゃいます。
# 第 1 引数を見る限り、そう確信しています。
それと、第 1 引数は IntPtr でやるべきですね。
この回答への補足
ありがとうございます。Declare の宣言をLongからInt32に直すとできました。
ちなみに「ByVal lpKeyName As Any」などのAny型は何に直せばいいのでしょうか?GetPrivateProFileStringに使われているものです。
No.6
- 回答日時:
GetPrivateProfileStringについても、変わらないと思うのですが^^;
値/参照のIN/OUT考えたら、全部STRINGに置き換える事ができますよー
ついでだから、書きもあわせてサンプルをどうぞ^^
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" _
(ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Integer
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" _
(ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Integer, ByVal lpFileName As String) As Integer
Const DEF_SEC As String = "SECTION"
Const DEF_KEY As String = "KEY"
Const DEF_INI As String = "C:\test.ini"
Const DEF_BUFF_LEN As Integer = &HFF&
Dim intRet As Integer
Dim strValue As String = "値"
'書く
MsgBox("書き込む値: " & strValue)
Call WritePrivateProfileString(DEF_SEC, DEF_KEY, strValue, DEF_INI)
'初期化
strValue = New String(CChar(" "), DEF_BUFF_LEN)
MsgBox("初期化された値: " & strValue)
'読む
If GetPrivateProfileString(DEF_SEC, DEF_KEY, vbNullString, strValue, DEF_BUFF_LEN, DEF_INI) Then
MsgBox("取得した値: " & Strings.Left(strValue, (InStr(strValue, vbNullChar) - 1)))
Else
MsgBox("失敗")
End If
No.5
- 回答日時:
Anyは、場合によってStringかIntegerです。
もし、関連づいたアプリケーションでファイルを開くのであれば、Stringが使いやすいかと・・・・
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Integer, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Integer) As Integer
Dim intRet As Integer
intRet = ShellExecute(0, "open", Environ("windir") & "\珈琲カップ.bmp", vbNullString, Environ("windir"), 1)
この回答への補足
なるほどですね、ありがとうございます。GetPrivateProFileStringのdeclareはどのような記述になるのでしょう?
補足日時:2005/03/31 17:59お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
- Visual Basic(VBA) VBAで出力したCSVファイルの先頭にカンマを挿入したい 5 2022/10/14 12:20
- Visual Basic(VBA) VBA初心者です。電話番号の数字の前に0を表示させたいです。 2 2022/12/14 03:58
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Excel(エクセル) エクセルでCSVを編集するとき、空白(NULL?)はどう入れますか 6 2023/06/08 15:30
- その他(プログラミング・Web制作) Sikulix2.0.5(Jython2.7.3)でcsvを読込WEB検索条件にpasteで文字化け 1 2023/03/31 11:02
- HTML・CSS HTMLタグのあるCSVファイルを利用する方法 4 2023/03/19 14:41
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
ShellExecuteの使い方について
JavaScript
-
ShellExcuteのprint”がExcel2016で実行されない"
Excel(エクセル)
-
VBでShell○なのにShellExecute×
Visual Basic(VBA)
-
-
4
ShellExecuteってなんで関数?
Access(アクセス)
-
5
ShellExecuteでエクセルファイルが起動しません。
Visual Basic(VBA)
-
6
VB6.0の「vbFromUnicode」はVB.NETではどれに相当しますか?
Visual Basic(VBA)
-
7
VB.NETで他のEXEを実行させる
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでcsvファイルもシートもあ...
-
EXCEL→CSV保存時のダブルクォー...
-
ダブルコーテーション付きでCSV...
-
【ExcelVBA】300万件越えCSVか...
-
Excelマクロ 空白セルを無視し...
-
VBA csvファイルのデータを...
-
VB.netでShellExecuteがしたい
-
複数のファイルをまたぐエクセ...
-
rubyを用いたCSVファイルの分割...
-
バッチ処理 特定の文字以降を...
-
【ruby】flockで掛けたロックを...
-
C# ファイルを読み込みlistvie...
-
VBA テキストボックスを選択状...
-
バッチ for /f 空白、スペース...
-
verilog HDLについての質問です...
-
ギャスケット作成。修正の解説...
-
SQLでテキストボックスの文字を...
-
fortranでNAのあるデータを読み...
-
[コンパイルエラー 修飾子が不...
-
INPUTタグ disabledの文字色を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelマクロ 空白セルを無視し...
-
【ExcelVBA】300万件越えCSVか...
-
ダブルコーテーション付きでCSV...
-
VBAでcsvファイルもシートもあ...
-
CSVで余計な空行が入る
-
EXCEL→CSV保存時のダブルクォー...
-
LibreOffice Calcのマクロで、...
-
CSVデータの文字列置換
-
VBAで複数のCSVからレコードセ...
-
pythonでリストをCSVに出力する...
-
ファイル名を変数で書きこむfwr...
-
VB.netでShellExecuteがしたい
-
バッチコマンドで指定行を抽出...
-
エクセルの任意のシートをcs...
-
StringGridの中身をCSV形式で保...
-
pythonのこのエラーがわかりません
-
CSVファイルの比較と結果の取得...
-
rubyを用いたCSVファイルの分割...
-
PowerShellからGhostscriptを動...
-
ブラウザ上でcsvファイルの編集
おすすめ情報