スキマハコ

わすれがちなスキマな事を詰め込んでいます。ITの他に暮らしについても書いています。

エクセルファイルからjavaのプログラムを用いて暗号化ファイル作成

途中までのプログラム張り付け

Sub 暗号化実行()
    Dim cellValue, LineData As String, i As Integer, j As Integer
    Dim columnValue As Integer, FNo As Long, flg As Integer, SaveFileName
    Dim wScriptHost As Object, strInitDir As String
      
'[名前を付けて保存]ダイアログボックスを表示する処理
'カレントディレクトリをデスクトップに変更
    Set wScriptHost = CreateObject("WScript.Shell")
        ChDir wScriptHost.SpecialFolders("Desktop")
        SaveFileName = Application.GetSaveAsFilename("sample", _
                     "CSVファイル,*.csv")
                     
    'データが必ず入っている場所を選択
    Range("A1").Select
    '現在選択セルから連続してデータの入っている範囲を選択
    Selection.CurrentRegion.Select
    
    Select_Range = ActiveWindow.RangeSelection.Address

                   
    columnValue = Selection.Columns.Count
     LineData = ""
   
     '複数行 X 複数列の場合
    If columnValue > 1 Then
        For i = Selection(1).Row To Selection(Selection.Count).Row
            For j = Selection(1).Column To Selection(Selection.Count).Column
                ''行単位の処理
                LineData = LineData & """" & Cells(i, j) & ""","
            Next j
            LineData = Left(LineData, Len(LineData) - 1) + vbCrLf
        Next i

       
     '複数行 X 1列の場合
    ElseIf columnValue = 1 And Selection.Cells.Count <> 1 Then
        For j = Selection(1).Column To Selection(Selection.Count).Column
            ''行単位の処理
            LineData = LineData & """" & Cells(1, j) & ""","
        Next j
       
    '1つのセルしか選択されていない場合
    Else
        LineData = """" & cellValue & """"
    End If
    
    'ラインデータを暗号化
    LineData = Shell("java C:\workspace\System\jp\io\FileIO.java", LineData)
       
    FNo = FreeFile
    Open SaveFileName For Output As FNo
        'ファイルに書き込み
        Print #FNo, LineData
    Close #FNo
End Sub

途中までうまくいってるんですけど、shellで型が一致しませんってエラーが出ちゃう。なにがちがうんかなー。