2012-03-07 19 views
1

彼らはすでにこれに似た疑問がたくさんあることは知っていますが、どれも私に必要な答えを与えてくれないようです。 私はVBAが自動的に私のための画像を挿入するように私は自動化しようとしていることを確認する力のポイントを持っている。実際のコマンドは がExcel.Application.GetOpenFileName()VBAのピクチャのファイル名からパスを削除する

私のサブしたがって

Sub Image() 
Dim Pict 
Dim ImgFileFormat As String 
ImgFileFormat = "Image Files (*.jpg; *.jpeg; *.png; *.bmp; *.gif; *.tif; *.tiff), *.jpg; *.jpeg; *.png; *.bmp; *.gif; *.tif; *.tiff" 
Pict = Excel.Application.GetOpenFilename(ImgFileFormat) 
If Pict = False Then End 
End Sub 

を読み込んであるので、私は、ユーザーがファイルを選択できるようにするGetOpenFileNameを使用しますが、これが唯一のExcelでサポートされているように私はリファレンスのリストにExcelを追加しましたしかし、私がしたいのは、ファイルパス(Pict Variable)からファイルの名前を抽出することです。

ご協力いただければ幸いです。

答えて

2
Pict = Dir(Pict) 

はあなただけのファイル名を与える必要があります。

+0

甘い!パスを削除し、ファイル名だけを残すきれいな方法。ありがとう! –

+0

両方のawnseresのためにありがとうが、私にとってsimlerはより良い – user1205406

+0

注意すべき事項:これはファイルが実際に存在することを知っているために機能します。 Andrewの答えはより一般的なものであり、パス+ファイル名があればよりうまく動作しますが、ファイルシステムにファイルシステムが存在するかどうかはまだ分かりません。 –

2

多分これはあなたを助けるでしょう:

Function FunctionGetFileName(FullPath As String) 
Dim StrFind As String 
    Do Until Left(StrFind, 1) = "\" 
     iCount = iCount + 1 
     StrFind = Right(FullPath, iCount) 
      If iCount = Len(FullPath) Then Exit Do 
    Loop 
    FunctionGetFileName = Right(StrFind, Len(StrFind) - 1) 
End Function 
関連する問題