2016-08-15 13 views
-5

ディレクトリに保存された最新の文書に基づいてリンクを編集したいと思います。私はダッシュボードを作成しています。異なる文書にはいくつかの式が添付されています。最新のファイルに更新するためにvbaを作成したいと思います。私はVBAが文字列であることを知っていますが、私はそれをどのように作成するのか本当にわかりません。すべての援助は非常に感謝しています。私はこのvbaを使用していますが、それは関数として実行されません。関数FileName = Dir(パス& IIf(右(パス、1)= "文字列としてのFileName"、文字列としてのFileDate、文字列としての ) 」、 ""、 "\")& ".XLS ") います 部品=スプリット(ファイル名) FILEDATE =フォーマット(右(パート(UBound関数(部品)"。" - 1)、7)、 "@@@@@@@@") If IsDate(FileDate)Then If CDate(FileDate)> MaxDate Then MaxDate = CDate(FileDate) LatestReport =( "G:\ S \ Staffing \ Attendance \ 2016 \ ") 終了の場合 終了の場合 FileName = Dir()レンながらループ(ファイル名) エンド機能編集するVbaディレクトリの最新ファイルへのリンク

+2

ようこそが識別されます!何か試しましたか?もしそうなら、コードを提供して、[ツアー](http://stackoverflow.com/tour)と[質問する](http://stackoverflow.com/help/how-to-ask)を見てください。 )。フレンドリーリマインダー:StackOverflowは "あなたのためのコード"サービスプロバイダーではありません。 [VBA入門](https://blog.udemy.com/excel-macros-tutorial/) – Sgdva

+0

私はこの種のものを試しました:Sub Setwbk() Sub openwb() Dim sPath As String、sFile As String ワークブックとして暗いWB SPATH = "E:\ sarath \ PTMetrics 20131004 \ D8 L538-L550 16MY \ \" SFILE = SPATH& "D8 L538-L550_16MY_Powertrain Metrics_20131002.xlsm" 設定し、WB = Workbooks.Open(SFILE) とサブopenwb()ワークブック バリアント として暗いNEWFILE NEWFILE = Application.GetOpenFilename( "Microsoft Excelファイル(* .xlsm *)、* .xlsm *") として 薄暗いwkbk If NewFile <> False then wkbk = Workbooks.Open(NewFile)を設定する 終了場合 –

+1

コメントを編集してコードを追加するのは難しいですね。 –

答えて

1

この関数は、日付オブジェクトとS.Oへのパスとfilename-

Function LatestReport(Path As String) As String 
    Dim X As Long, FileName As String, FileDate As String, MaxDate As Date, Parts() As String 
    FileName = Dir(Path & IIf(Right(Path, 1) = "\", "", "\") & "*.xls*") 
    Do 
    Parts = Split(FileName, ".") 
    FileDate = Format(Right(Parts(UBound(Parts) - 1), 7), "@@ @@@ @@") 
    If IsDate(FileDate) Then 
     If CDate(FileDate) > MaxDate Then 
     MaxDate = CDate(FileDate) 
     LatestReport = FileName 
     End If 
    End If 
    FileName = Dir() 
    Loop While Len(FileName) 
End Function 

コール、EG-

LatestReport("c:\mydocs\") 
+0

これは、関数。 http://stackoverflow.com/questions/1072075/how-do-i-call-a-vba-function-into-a-sub-procedure – user4074875

+0

サブLatestReport() 最新のレポート(文字列としてのパス)を文字列として Dim (右(パス、1)= "\"、 ""、 "\") "&X"のように、ファイル名は文字列として、文字列としてはFileDate、文字列としてはMaxDate、文字列としては FileName = * .xls * ") Do 部品=分割(FileName、"。") If CDate(FileDate)> MaxDate Then MaxDate = FileDateの場合If CDate(FileDate)> MaxDateの場合 FileDate =書式(右(部品(UBound(部品)-1)、7)、" @@@@@@@ " CDate関数(FILEDATE) はLatestReport =( "G:\ 2016 \ \ S \スタッフィング\出席") END IF END IF ファイル名= DIR()Whileループレン私はコンパイルエラーを受け取った(ファイル名) End Subの –

+0

:構文エラー –

関連する問題