No.1ベストアンサー
- 回答日時:
Dim strDir As String
'あらかじめ260文字分の領域を準備(べつにスペースじゃなくても他の文字でもかまいません)
strDir = Space(260)
'システムディレクトリを取得
Call GetSystemDirectory(strDir)
'\0以降をカットする
strDir = Left(strDir, InStr(1, strDir, Chr(0)) - 1)
こんな感じですかね。
ポイントは、
1.あらかじめ領域はVB側で準備
2.\0はInStrで検索可能
です。
参考URL:http://www.vbvbvb.com/jp/gtips/0501/gGetSystemDi …
No.3
- 回答日時:
>逆にNULL終端文字列を要求される場合
>str="Test String" & chr(0)
>の様な感じでいいかと思います。
不要です。
DeclareステートメントでAPIを呼ぶ場合は自動的にNULL文字は1つ付加されて渡されます。
上記のようにする必要があるのは、NULL文字の連続が要求される場合です。
No.2
- 回答日時:
NULL終端文字列からVBのStringへは、だいたい以下のようにすればいいと思います。
nullPos = InStr(str, Chr(0))
str = Left(str, nullPos - 1) '\0:NULL以降を取り除く
逆にNULL終端文字列を要求される場合
str="Test String" & chr(0)
の様な感じでいいかと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) エクセルでA列セル内で折り返すことなく、文字列を、B列C列・・・側に一行に 2 2022/07/23 02:02
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Excel(エクセル) エクセル文字列の日付を日付けに変える 2 2023/05/13 11:08
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- フリーソフト フォルダ、ファイル名の一括変換について 3 2023/03/16 09:23
- Excel(エクセル) Excelの数字(文字列)合計について あるデータをダウンロードすると、数字データが全て文字列になっ 4 2022/09/26 21:21
- その他(プログラミング・Web制作) テキストエディタで複数行にわたる文字列の行頭に番号を振る方法 4 2023/03/11 12:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
VBAでの Replace関数で、ワイル...
-
文字列からタブコードを取り除...
-
【Excel VBA】複数ある特定の文...
-
Left関数とRight関数を合わせた...
-
[C言語]fputsとfprintfの違い
-
VBの「As String * 128」とは?
-
VBscriptからバッチに変数を渡...
-
MS SQLServer のSQLで文字列の...
-
Excelはなんで先頭の0を消すん...
-
Excelで3E8を3.00E+8にしない方...
-
VBA2005 16進を2桁で表示したい。
-
A B C D E の五文字のすべてを...
-
ORCLEでの小数の表示方法の変更...
-
エクセルで文字列の最大値を抽...
-
エクセルで文字列をtxtファイル...
-
同一セル内に関数と文字列を同...
-
sedなどで、特定の文字列の後の...
-
Excelで指数表現しないようにす...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
文字列からタブコードを取り除...
-
Excelで3E8を3.00E+8にしない方...
-
VBAでの Replace関数で、ワイル...
-
Excelで指数表現しないようにす...
-
[C言語]fputsとfprintfの違い
-
エクセルで文字列をtxtファイル...
-
同一セル内に関数と文字列を同...
-
エクセルで文字列の最大値を抽...
-
Excelはなんで先頭の0を消すん...
-
MS SQLServer のSQLで文字列の...
-
エクセル 数値データを桁をそ...
-
Left関数とRight関数を合わせた...
-
VBA2005 16進を2桁で表示したい。
-
VBの「As String * 128」とは?
-
Msgboxの×が押されたとき
-
sedなどで、特定の文字列の後の...
-
【Excel VBA】複数ある特定の文...
-
OnTime 使用時のプロシージャへ...
おすすめ情報