
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で質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Visual Basic(VBA) Excel ファイルを指定し、指定されたファイル内にシートを統合するVBA 8 2023/07/10 10:09
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
- Excel(エクセル) 【VBA】フォルダAにある2つのファイルの内1つを、フォルダBへ。もう1つを、フォルダBへ移動したい 6 2022/07/26 08:51
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
- XML エクセルのマクロについて教えてください。 3 2023/02/06 09:06
- Visual Basic(VBA) Excel VBA ファイル取得について フォルダの中に、ファイル名“会議“を含むファイルが1つまた 9 2022/10/12 01:18
- Excel(エクセル) フォルダAから1つのファイルだけを、フォルダBへを移動するVBAについて 2 2022/07/25 11:45
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルvbaでdocuworksprinter...
-
エクセルVBAで一つ上の階層...
-
xcopyコマンドの進行状況を表示...
-
【VB.NET】App.configにファイ...
-
コマンドプロンプトのコピー関...
-
エクセルのマクロで特定フォル...
-
VBA★PDFをPDFアプリで印刷し...
-
【VBA】ExcelマクロでCSVファイ...
-
アプリケーションのインストー...
-
ExcelのVBAで上書き保存を確...
-
visual studio 2010のワーニング
-
Excel 相対パス
-
Shell関数内で変数を使うことに...
-
実行ファイルのパスを取得したい
-
ExcelVBAの使い方 ¥の使い方...
-
パスワード保護されたExcelファ...
-
EXCEL(VBA)で指定フォルダ内の...
-
Cの関数で自分自身のパス取得
-
【VBA】複数のtxtファイルから...
-
[VB2008]引数付きパスでアプリ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルvbaでdocuworksprinter...
-
エクセルVBAで一つ上の階層...
-
xcopyコマンドの進行状況を表示...
-
Excel 相対パス
-
コマンドプロンプトのコピー関...
-
【VB.NET】App.configにファイ...
-
VBAでパワーシェルを実行したい...
-
ExcelVBAの使い方 ¥の使い方...
-
エクセルのマクロで特定フォル...
-
実行ファイルのパスを取得したい
-
【VBA】ExcelマクロでCSVファイ...
-
VBA★PDFをPDFアプリで印刷し...
-
C#でのProcess.Startと変数path
-
fopenでのパス指定
-
EXCEL(VBA)で指定フォルダ内の...
-
ExcelのVBAで上書き保存を確...
-
A列に記載されているフォルダ...
-
outlook開けない
-
【VBA】複数のtxtファイルから...
-
【Excel VBA】Power Qurry のソ...
おすすめ情報