1

コンボボックスからExcelワークブックを開く方法は?

次のコードを使用して、コンボボックスにExcelファイル名を入力しています。

Dim files() As String
files = Directory.GetFiles("C:\Files\Folder", "*.xlsx", SearchOption.AllDirectories)
For Each FileName As String In files
ComboBox1.Items.Add(FileName.Substring(FileName.LastIndexOf("\") + 1, FileName.Length -     FileName.LastIndexOf("\") - 1))
Next

しかし、選択したファイルを開く方法がわかりません。

4

3 に答える 3

2
Imports System
Imports System.IO
Imports System.Collections

Public Class Form1

Private Const TargetDir = "C:\Files\Folder"
Private FullFileList As List(Of String)


Private Sub ProcessFile(ByVal fn As String)
    If Path.GetExtension(fn).ToLower = ".xlsx" Then
        FullFileList.Add(fn)
        ComboBox1.Items.Add(Path.GetFileName(fn))
    End If
End Sub

Private Sub ProcessDirectory(ByVal targetDirectory As String)
    Dim fileEntries As String() = Directory.GetFiles(targetDirectory)
    Dim fileName As String
    For Each fileName In fileEntries
        ProcessFile(fileName)
    Next fileName
    Dim subdirectoryEntries As String() = Directory.GetDirectories(targetDirectory)
    Dim subdirectory As String
    For Each subdirectory In subdirectoryEntries
        ProcessDirectory(subdirectory)
    Next subdirectory
End Sub

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    FullFileList = New List(Of String)
    ProcessDirectory(TargetDir)
End Sub

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    If ComboBox1.SelectedIndex >= 0 Then
        Dim prc As New System.Diagnostics.Process
        Dim psi As New System.Diagnostics.ProcessStartInfo(FullFileList(ComboBox1.SelectedIndex))
        psi.UseShellExecute = True
        psi.WindowStyle = ProcessWindowStyle.Normal
        prc.StartInfo = psi
        prc.Start()
    End If
End Sub

End Class
于 2012-12-22T07:16:52.890 に答える
0

ユーザーの選択に反応するには、イベントを処理する必要がありComboBoxますButton。イベント ハンドラで、次のファイル名を取得できますComboBox

string filename = ComboBox1.SelectedItem.ToString()

ファイル名を取得したら、ファイルを開くことができますが、これを行う方法は、そのファイルで何をしたいかによって異なります。この回答には、VB.NET で Excel ファイルを開く方法に関する情報が含まれています。

于 2012-12-22T06:57:33.797 に答える
0

使ってみて

Process.start("excel "+ComboBox1.SelectedItem.ToString());

ボタンクリックイベントで

于 2012-12-22T06:54:28.850 に答える