No.1ベストアンサー
- 回答日時:
GetShortPathNameというAPIを使用します。
VBAではAPIを使用する前に定義を書く必要があります。定義は次の通りです。
Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" ( _
ByVal LongPath As String, _
ByVal ShortPath As String, _
ByVal ShortPathSize As Long) As Long
以下はサンプルです。
Dim FileName As String * 512
GetShortPathName "Z:\My Document\audio.wav", ShortName, 512
MsgBox Left(FileName, InStr(FileName, vbNullChar) - 1)
この回答への補足
宣言からしますと、
Dim FileName As String * 512
Dim ShortName As String
Dim lRet As Long
lRet = GetShortPathName "Z:\My Document\audio.wav", ShortName, 512
で使い方合ってますか?
lRet = 0
ShortName ="" で戻ってきちゃうんですよ。
MSのHPで検索してもC言語の「GetShortPathName」しかでないし
困ってしまってます。
No.3
- 回答日時:
こんにちは。
maruru01です。tnakさんの回答の間違いを。
多分単なるタイプミスだと思いますが、
GetShortPathName "Z:\My Document\audio.wav", ShortName, 512
を、以下のようにします。
GetShortPathName "Z:\My Document\audio.wav", FileName, 512
あと、第3引数の文字列長は、
Len(FileName)
とした方がいいかも知れません。(変数宣言での文字列長の指定値を変えた時にいちいち変えなくても済みますから。)
ちなみに、戻り値をつけるなら()がいると思います。
lRet = GetShortPathName ("Z:\My Document\audio.wav", ShortName, 512)
横から口を出してすみません。
では。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
【お題】 ・存在しそうで存在しないモノマネ芸人の名前を教えてください
-
【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
2024年は「名探偵コナン30周年」「涼宮ハルヒ20周年」などを迎えますが、 あなたが「もうそんなに!?」と驚いた○○周年を教えてください。
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。
-
昨日見た夢を教えて下さい
たまにすごいドラマチックな夢見ること、ありませんか? 起きてからも妙に記憶に残っているような、そんな夢。
-
あなたの習慣について教えてください!!
あなたが習慣だと思って実践しているものを共有してくださいませんか? 筋肉トレーニングでも朝シャワーでも、あなたが習慣だなと思えば何でも構いません
-
VBAでファイルパスが長すぎてコピー時のエラー対策
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAで一つ上の階層...
-
エクセルvbaでdocuworksprinter...
-
Excel 相対パス
-
【VBA】ExcelマクロでCSVファイ...
-
xcopyコマンドの進行状況を表示...
-
エクセルのマクロで特定フォル...
-
実行ファイルのパスを取得したい
-
VBS パスに変数を入れたい
-
ExcelVBAの使い方 ¥の使い方...
-
SaveAsの保存先について
-
コマンドプロンプトのコピー関...
-
コマンドプロンプトでファイル...
-
ファイル選択ダイアログからフ...
-
ListViewにSETしたファイル...
-
ショートカットExellファイルの...
-
指定したフォルダ内の最新ファ...
-
fopenでのパス指定
-
Shell関数内で変数を使うことに...
-
エクセルのファイルオープン時...
-
ExcelのVBAで上書き保存を確...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルvbaでdocuworksprinter...
-
Excel 相対パス
-
エクセルVBAで一つ上の階層...
-
【VBA】ExcelマクロでCSVファイ...
-
xcopyコマンドの進行状況を表示...
-
コマンドプロンプトのコピー関...
-
エクセルのマクロで特定フォル...
-
VBA★PDFをPDFアプリで印刷し...
-
Eclipse
-
【VB.NET】App.configにファイ...
-
EXCEL(VBA)で指定フォルダ内の...
-
ExcelVBAの使い方 ¥の使い方...
-
C#でのProcess.Startと変数path
-
VBS パスに変数を入れたい
-
ExcelのVBAで上書き保存を確...
-
SaveAsの保存先について
-
VBAでパワーシェルを実行したい...
-
fopenでのパス指定
-
実行ファイルのパスを取得したい
-
パスワード保護されたExcelファ...
おすすめ情報