私は、ワークシートオブジェクトのプロパティに文字列/数値を格納することを意図しています。Excelワークシートのオブジェクトプロパティに文字列または数値を格納する
私は以下のように試しましたが、例外が発生しました。
Excel.Worksheet ws = Globals.ThisWorkbook.Application.ActiveWorkbook.ActiveSheet;
ws._CodeName = "abc";
作業シートオブジェクト
私は、ワークシートオブジェクトのプロパティに文字列/数値を格納することを意図しています。Excelワークシートのオブジェクトプロパティに文字列または数値を格納する
私は以下のように試しましたが、例外が発生しました。
Excel.Worksheet ws = Globals.ThisWorkbook.Application.ActiveWorkbook.ActiveSheet;
ws._CodeName = "abc";
作業シートオブジェクト
:
using System;
using Excel = Microsoft.Office.Interop.Excel;
class Startup
{
static void Main()
{
Excel.Application excelApp = new Excel.Application();
Excel.Workbook wkbReport = Open(excelApp, @"C:\Testing.xlsx");
Excel.Worksheet ws = wkbReport.Worksheets[1];
Console.WriteLine(ws._CodeName);
ws.Name = "ABC";
Console.WriteLine("END");
excelApp.Visible = true;
}
public static Excel.Workbook Open(Excel.Application excelInstance, string fileName, bool readOnly = false, bool editable = true, bool updateLinks = true)
{
Excel.Workbook book = excelInstance.Workbooks.Open(
fileName, updateLinks, readOnly,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, editable, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);
return book;
}
}
これは、それは次のようになりますどのようにされて:あなたは、ワークシートの名前を変更したい場合は
しかし、これは可能なシナリオがありますc#
でもVBAタグが表示されるので、ワークシートにカスタムプロパティを追加するVBAルーチンを次に示します。
Option Explicit
Sub foo()
Dim WS As Worksheet
Dim sCPName As String
Dim sCPValue As String
Dim I As Long
Set WS = Worksheets("sheet1")
sCPName = "Request ID"
sCPValue = 12345
With WS.CustomProperties
For I = 1 To .Count
If .Item(I).Name = sCPName Then Exit For
Next I
If I > .Count Then
.Add sCPName, sCPValue
Else
.Item(I).Value = sCPValue
End If
End With
End Sub
@Ron Rosenfeldありがとう –
ws._CodeName
にカスタム値を格納するための任意の可能性があるがReadOnlyプロパティ(MSDN Reference)です。したがって、あなたはそれを読むことができ、それを上書きすることはできません。あなたのコードが、
まったく例外はありますか?ワークシートの列のロックと非表示を検討しましたか:https://www.extendoffice.com/documents/excel/1280-excel-protect-hidden-columns.html – PaulF
シート内にある必要がある理由はありますか? – QHarr
@QHarr:シートごとにリクエストIDを格納する必要があります。ユーザーには表示されません。 –