2017-01-10 7 views
0

結合を禁止しオンオプション厳格な私は、エラーを生成し、次のコードがあります。:後半

Option Strict On 
Imports Microsoft.Office.Interop 

Public Class Form1 
Dim xlApp As New Excel.Application 
Dim xlWorkBook As Excel.Workbook 
Dim xlWorkSheet As Excel.Worksheet 
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click 
    xlWorkBook = xlApp.Workbooks.Open("C:\Book1.xlsx") 
    xlApp.Visible = True 
    For i = 1 To xlWorkBook.Worksheets.Count 
     xlWorkBook.Worksheets(i).Visible = True 
    Next 
End Sub 
End Class 

はありがとうございます。

+0

'xlWorkSheet'を使って' Worksheets'を最初に参照し、それに '.Visible'プロパティを設定するとどうなりますか? (あなたがそれをすることができるかどうかは確信していますが、あなたができることのように思えます)。 – Bugs

+0

あなたはただの事実を述べています。 xlWorkSheet変数を宣言し、それを使用することを検討しました。 CType()を使用してキャストします。 –

答えて

0

私はあなたが後にあるかを推測するには、次のとおりです。

Dim xlApp As New Excel.Application 
Dim xlWorkBook As Excel.Workbook 
Dim xlWorkSheet As Excel.Worksheet 
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click 
    xlWorkBook = xlApp.Workbooks.Open("C:\Book1.xlsx") 
    xlApp.Visible = True 
    For i = 1 To xlWorkBook.Worksheets.Count 
     xlWorkSheet = CType(xlWorkBook.Worksheets(i), Excel.Worksheet) 
     xlWorkSheet.Visible = Excel.XlSheetVisibility.xlSheetVisible 

     'If you don't want to make use of xlWorkSheet you can use this: 
     'CType(xlWorkBook.Sheets(i), Excel.Worksheet).Visible = Excel.XlSheetVisibility.xlSheetHidden 
    Next 
End Sub 

これは、オブジェクトのプロパティの正しい使用方法を提供しますとあなたは常にオブジェクトを使用して見なければなりません。 Visible = TrueからVisible = Excel.XlSheetVisibility.xlSheetVisible

+0

この 'CType(xlWorkBook.Sheets(i)、Excel.Worksheet)はいかがですか.Visible = CType(True、Excel.XlSheetVisibility)' –

+0

@SamSamuelは必須ではありません。あなたが 'CType(xlWorkBook.Sheets(i)、Excel.Worksheet).Visible = Excel.XlSheetVisibility.xlSheetVisible'を1行だけポップするとうまく動作します。私はオブジェクトの使用を示すために2つに分割しました。 – Bugs

関連する問題