作業中のレポートの一部として、Excel シートの列 Q の前に列 B を移動しようとしています。私は VBA の経験はありますが、c# の経験は比較的少ないため、過去 1 時間を Google で過ごしましたが、解決策が見つかりません。これは簡単なはずですが、うまくいきません。
「Range クラスのメソッドの挿入に失敗しました」というメッセージが表示される方法 1。
Excel.Range rngCut1 = JobLabourSheet.get_Range("B:B", Type.Missing);
Excel.Range rngPaste1 = JobLabourSheet.get_Range("Q:Q", Type.Missing);
rngCut1.Columns.Cut(rngPaste1.EntireColumn.Insert(Excel.XlInsertShiftDirection.xlShiftToRight, rngCut1));
方法 2 では、「Range クラスの Cut プロパティを取得できません」というメッセージが表示されます。
Excel.Range rngCut1 = JobLabourSheet.get_Range("B:B", Type.Missing);
Excel.Range rngPaste1 = JobLabourSheet.get_Range("Q:Q", Type.Missing);
rngCut1.Columns.Cut(rngPaste1.EntireColumn.Insert(Excel.XlInsertShiftDirection.xlShiftToRight, Missing.Value));
2 番目の方法で CopyOrigin を省略した場合、メッセージは表示されますが、列 Q の前に空白の列が挿入されます。
VBAでは、次を使用します。
Columns("B:B").Cut
Columns("Q:Q").Insert Shift:=xlToRight
しかし、私が言ったように、現時点では私の C# の経験は限られているので、それを C# に翻訳する方法がわかりません。