プロが教えるわが家の防犯対策術!

Excel sheetのC列に数値が入っています。VBscriptでC列を基準に(他の列のデータと一緒に))降順に並び替えしたいのですが、可能でしょうか?
可能であればスクリプトのコーディングを教えて!

A 回答 (1件)

>可能であればスクリプトのコーディングを教えて!


以下のコートで可能ではあっても、リクエストが細かすぎて、vbsにはふさわしくないように感じます。以下のコードは、ブラックボックス化してしまい、条件的に成立するのは難しいし、作者の私自身でも時間が経つとメインテも利かなくなりそうです。まず、コード自体を読み直してみてください。その内容が理解できるようなら、実用に差し支えないと思います。

しかし、目で見て確認してから、実行するのは、VBAしかないように思います。

'------------------
'//ExcelOpen.vbs
Dim objFS, FileName, extension
Dim xlApp,wb
Const SHN="Sheet1" 'シート名
FileName = WScript.Arguments.Item(0)
If WScript.Arguments.Count =0 Then
MsgBox "Excelファイルをドラッグ・ドロップしてください。"
WScript.Quit
End If
Set objFS = CreateObject("Scripting.FilesystemObject")
extension = objfs.GetExtensionName(FileName)
If Left(LCase(extension),3)<>"xls" Then
MsgBox "Excelファイルではありません。",64
WScript.Quit
End If
Set xlApp =GetObject(,"Excel.Application")
If xlApp is Nothing Then
Set xlApp = CreateObject("Excel.Application")
End If
xlApp.Visible = True
Set wb= xlApp.Workbooks.Open(FileName)
Dim Rng, Sh
'xlAscending=1, xlDescending=2, xlYes =1
With wb
With .Worksheets(SHN)
Set Rng =.Range("A1").CurrentRegion
'C列
Rng.Sort Rng.cells(1,3),2,,,,,,1
End With
.Save
.Close False
wscript.quit
End With
xlApp.Quit
Set Rng =Nothing
Set Sh = Nothing
Set wb = Nothing
Set xlApp = Nothing
Set objFS = Nothing
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています