Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1308to1312
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel AddIn mit C#

Excel AddIn mit C#
22.04.2013 20:08:18
Oliver
Hallo alle,
ich bin neu hier und auch Frischling bei der Programmierung von Excel. Heute habe ich den Tag damit verbracht ein kleines Programm in C# zu schreiben, durch dass sich beim Öffnen von Excel der Name der Tabelle1 immer ändert, z.B in "Adressen". Genauergesagt habe ich es versucht, denn gelungen ist mir das nicht.
Klar ist mir nur, dass der Code in ThisAddIn_Startup rein muss. Kann mir vielleicht jemand einen Tipp geben, wie der Code annähernd aussehen muss, ich steh echt auf dem Schlauch.
Ich danke Euch!

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel AddIn mit C#
22.04.2013 22:03:19
Sheldon
Hi Oliver,
warum denn in C#? Ich kenne mich mit C# gar nicht aus, aber Excel nutzt Visual Basic for Applications als Programmiersprache, kurz VBA. Addins, wie ich sie kenne, werden darin programmiert. So recht vorstellen kann ich mir nicht, wozu C# hier dienen kann…?
Aber ich lerne gern dazu!
Gruß
Sheldon

AW: Excel AddIn mit C#
23.04.2013 03:11:33
Oliver
Hallo Sheldon,
ich nutze zum Programmieren das Visual Studio. Dort gibt es eine Vorlage "Excel 2010 AddIn". Wenn man diese anklickt, erstellt das Visual Studio eine partielle Klasse "ThisAddIn" und in dieser zwei Eventhandler (ThisAddIn_Startup und ThisAddIn_Shutdown).
Herausgefunden habe ich, dass man Code direkt in die partielle Klasse schreibt, wenn dieser auf Dokumentenebene ausgeführt werden soll und in einen der Eventhandler, wenn dies auf Anwendungsebene geschehen soll. Aber beim Code selber habe ich im Netz nicht wirklich sinnvolle Hilfe gefunden.
Eine VBA-Lösung wäre aber auch interessant.

Anzeige
VBA-Lösung
23.04.2013 08:16:23
Klaus
Hi,
hier die VBA-Lösung. In "diese Arbeitsmappe" kommt der Code:
Private Sub Workbook_Open()
Sheets(1).Name = "Adressen"
End Sub
Wenn es bereits ein Sheet namens "Adressen" gibt, welches NICHT sheets(1) ist, dann schmiert das ab.
Der Code mit Fehlerbehandlung, um eben das zu verhindern:
Private Sub Workbook_Open()
Dim sSheetName As String
Dim iWksIndex As Integer
sSheetName = "Adressen"
iWksIndex = 1
If WksSheetExists(sSheetName) Then
If Not Sheets(iWksIndex).Name = sSheetName Then
MsgBox ("Es gibt bereits ein Sheet Namens " & sSheetName & "!")
End If
Else
Sheets(iWksIndex).Name = "Adressen"
End If
End Sub
Function WksSheetExists(sSheet As String) As Boolean
Dim wks As Object
On Error Resume Next
Set wks = Sheets(sSheet)
If Not wks Is Nothing Then
WksSheetExists = True
End If
On Error GoTo 0
End Function
Grüße,
Klaus M.vdT.

Anzeige
AW: VBA-Lösung
23.04.2013 12:00:03
Oliver
Hallo Klaus,
vielen Dank für deine Hilfe. Funktioniert bestens.
Mittlerweile habe ich auch die C#-Lösung hinbekommen:
Excel.Workbook yourname = this.Application.ActiveWorkbook;
yourname.ActiveSheet.name = "Adressen";

AW: VBA-Lösung
23.04.2013 12:12:07
Klaus
Hi,
was macht denn die C# Lösung, wenn sheets(2) bereits "Adressen" benannt ist und du versuchst Sheets(1) umzubenennen?
Grüße,
Klaus M.vdT.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige