これはダムに聞こえるかもしれませんが、私はvb.netにこの余分なコードを含める必要がある理由を説明することができます。これは、セルの色を変更するときにVBAでは不要です。 私は、microsoft.office.interopリファレンスを使用してExcelファイルを作成して保存するプログラムを作成しました。ここに私のコードは次のとおりです。私はもともとexcelsheet.Range("a1:B10").Interior.Color =
を試してみましたが、色を設定しようとしたが、カラーpropteryが読み取り専用である持っていた色を設定する行でなぜvb.netとは異なるvb.netのセルの色を変更するコードですか?
Public Class Export_Excel_Class
Public excelapp As Microsoft.Office.Interop.Excel.Application
Public excelbook As Microsoft.Office.Interop.Excel.Workbook
Public excelsheet As Microsoft.Office.Interop.Excel.Worksheet
Public Sub newExcel()
excelapp = New Microsoft.Office.Interop.Excel.Application
excelbook = excelapp.Workbooks.Add()
excelsheet = excelbook.Sheets("sheet1")
excelsheet.Range("A1").Select()
excelsheet.Range("a1").AddComment("hello")
excelsheet.Range("a1:B10").Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Yellow)
excelbook.SaveAs("C:\Users\DatOneBull\Desktop\Excel_Test")
excelapp.Quit()
End Sub
。私は解決策をオンラインで見つけましたが、説明はありませんでした。誰かがこのコードセクションが何を意味しているのか、それがなぜth範囲のカラー値を設定できるのか教えていただけますか?
System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Yellow)
明らかに、 'Color'プロパティはあなたが投稿したコードに設定しているので、読み取り専用ではありません。元の問題はおそらく、あなたが 'System.Drawing.Color'値をその型でないプロパティに代入しようとしていたことでしょう。その "余分なコード"は、適切な型の値、すなわち 'System.Drawing.Color'を表す' Integer'を作成しています。 – jmcilhinney