• ベストアンサー

文字列の結合がうまくいかない

datafile = WorkPath & "\マスタ" & ".csv" WorkPathには、 C:\xxx\保存\AAA\Work\ のパスが 設定されているのですが、上記命令を実行すると C:\xxx\保存\AAA\Work\までしか編集されず、最後尾に ¬文字がついてます。 解決策を教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

すみません、ちょっと抜けてました。 一旦、SHIFT-JIS に戻して LeftB で取得して、最後に Unicode に戻さないとダメでした。 iLength = GetPrivateProfileString(....) WorkPath = StrConv(WorkPath, vbFromUnicode) WorkPath = LeftB(WorkPath, iLength) WorkPath = StrConv(WorkPath, vbUnicode) のようにしてください。

すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.3

>補足ですが、WorkPathはINIファイルで設定された内容です。 たぶん、これが原因です。API の GetPrivateProfileString() を使ってるんじゃないでしょうか?この API は VB で実行するとそうなるのかよくわかりませんが、API から返ってきた文字列をそのままなにもしないと、そういう感じになるようです。 GetPrivateProfileString の戻り値は文字列の長さなので、 iLength = GetPrivateProfileString(....) WorkPath = LeftB(WorkPath, iLength) のようにしてやらなければなりません。 その後で datafile = WorkPath & "マスタ.csv" とすればOKだと思います。

すると、全ての回答が全文表示されます。
回答No.2

WorkPath の末尾が "\" で、"\マスタ" となっているのも、まずいと思いますが、おそらく、質問の現象とは関係ないと思います。 datafile の宣言が Dim datafile As String * 20 のような感じになってませんか? だけど、たとえそうだとしても、末尾に「¬」がつくのはどうしてなのか、よくわからないですね。

shdego
質問者

補足

補足ですが、WorkPathはINIファイルで設定された 内容です。 その内容を表示すると C:\xxx\保存\AAA\Work\●が表示されます。 ●の箇所に¬のような文字が編集されます。

すると、全ての回答が全文表示されます。
  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.1

WorkPathの最後の文字は \ ですよね。 datafile = WorkPath & "マスタ" & ".csv" にしてみてくださいな。 もし、WorkPathの最後の文字が \ でなければ、 datafile = WorkPath & "\\マスタ" & ".csv" としてみてちょ。

すると、全ての回答が全文表示されます。

関連するQ&A