2017-05-30 7 views
1

私はvbscriptを初めて使用していますが、新しいExcelファイルを "[folder name] _Summary.xlsx?I 。作成するファイルを取得するが、私はハードコードへのパスを持っていたのですが自動的にフォルダに新しいExcelファイルを作成する方法がありますExcelで現在のフォロワー名を含む新しいExcelファイルを作成するvbscript

ここ

は、私がこれまで持っているものです:?

Sub Testing() 

strFileName = "F:\U029\U029_Excel\U029_Excel_Summary.xlsx" 

Set objExcel = CreateObject("Excel.Application") 
objExcel.Visible = True 

Set objWorkbook = objExcel.Workbooks.Add() 
objWorkbook.SaveAs (strFileName) 

objExcel.Quit 

End Sub 

答えて

2

あなたのvbsファイルがあなたが作成するフォルダの中に置かれていることを確認してください。 vbsファイルを実行した後、そのフォルダから削除することができます。

call fn_createExcel() 

Function fn_CreateExcel() 
    Dim objFso, objExcel, objWorkbook 
    Set objFso = CreateObject("Scripting.FileSystemobject") 
    strTemp = objFso.GetAbsolutePathName("") 
    tempArr=Split(strTemp,"\") 
    strFileName= strTemp&"\"&tempArr(ubound(tempArr))&"_Summary.xlsx" 
    Set objExcel = CreateObject("Excel.Application") 
    objExcel.Visible = True 
    Set objWorkbook = objExcel.Workbooks.Add() 
    objWorkbook.SaveAs strFileName 

    objExcel.Quit 
    Set objExcel = Nothing 
    Set objFso = Nothing 
End Function 

EDIT 2: (また、添付画像を参照)、以下のようにVBAコードを有するXLSMファイルを作成VBSファイル内のコードを使用します。このxlsmファイルを、Excelファイルを作成するフォルダの中に置き、プロシージャを開いて実行します。 Excelファイルを作成したら、そのフォルダからこのxlsmファイルを削除できます。

Function fn_CreateExcel() 
    Dim objExcel, objWorkbook, strFileName, strTemp 
    strTemp = Application.ActiveWorkbook.Path 
    tempArr = Split(strTemp, "\") 
    strFileName = strTemp & "\" & tempArr(UBound(tempArr)) & "_Summary.xlsx" 
    Set objExcel = CreateObject("Excel.Application") 
    objExcel.Visible = True 
    Set objWorkbook = objExcel.Workbooks.Add() 
    objWorkbook.SaveAs strFileName 

    objExcel.Quit 
    Set objExcel = Nothing 
End Function 

お客様の要件に応じて、コード/ロジックをさらに変更することができます。私はこのコードを試して、働いています。 enter image description here

+0

あなたのソリューションに感謝します。このコードをVBAのExcelシートで使用するにはどうしたらいいですか?あなたのコードをExcelのVBAプロジェクトに貼り付けましたが、「無効な外部プロシージャ」というエラーがありました。ありがとう! – Joe

+1

@Joe更新された回答を参照してください。 – Gurman

1

このvbscriptを試すことができます:

Call Create_New_Excel_File() 
'*********************************************************** 
Sub Create_New_Excel_File() 
set fso = CreateObject("Scripting.FileSystemObject") 
Path_Folder = fso.GetParentFolderName(WScript.ScriptFullName) 
Array_Folder_Name = split(Path_Folder,"\") 
Folder_Name = Array_Folder_Name(Ubound(Array_Folder_Name)) 
strFileName = Path_Folder & "\" & Folder_Name & "_Summary.xlsx" 
Set objExcel = CreateObject("Excel.Application") 
objExcel.Visible = True 
Set objWorkbook = objExcel.Workbooks.Add() 
objWorkbook.SaveAs(strFileName) 
objExcel.Quit 
End Sub 
'*********************************************************** 
+0

コンパイルエラー「外部プロシージャが無効です」が表示されます。 – Joe

+1

@JoeこれはVBAで動作しないvbscriptで動作します 投稿する前にテストして、vbscriptで動作します! – Hackoo

関連する問題