2017-05-12 6 views
2

Wie speichere ich die Adresse der aktiven Zelle in Excel in eine Variable in Outlook?ActiveCell.Address in Outlook lesen

Outlook manipuliert eine Arbeitsmappe und ich möchte die aktive Zelle an den ursprünglichen Speicherort nach der Manipulation wiederherstellen.

Set xl = GetObject(, "Excel.Application") 
Set xlB = xl.Workbooks("DWG_CHECKLIST") 
reactivateMeSheet = xlB.ActiveSheet.Name 
reactivateMeCell = xlB.Sheets(reactivateMeSheet).ActiveCell.Address 

Ich habe die Excel 15 Objektbibliothek referenziert.

+0

Können Sie Ihre Post Code Outlook-Code, um zu sehen, wie Sie es manipulieren? – 0m3r

Antwort

2

Es wird einfacher, wenn Sie eine Range Variable verwenden, um die Anfangszelle zu speichern, bevor Sie Ihre Behandlung,
auf diese Weise werden Sie nur Ihren Code wie folgt wickeln müssen:

Set xl = GetObject(, "Excel.Application") 
Set xlB = xl.Workbooks("DWG_CHECKLIST") 

Dim reactivateMeCell As Object 'Excel.Range 
xlB.Activate 
Set reactivateMeCell = xl.ActiveCell 

'''Your code 

With reactivateMeCell 
    .Parent.Parent.Activate 
    .Parent.Activate 
    .Activate 
End With 'reactivateMeCell 
+1

Vielen Dank; Ich glaube, das ist es, wonach ich gesucht habe. ActiveCell erschien im Dropdown-Menü "xl" IntelliSense, während es vorher nicht war. Dieser Code wird ausgelöst, wenn ich eine automatisch generierte E-Mail erhalte. Sobald ich einen davon bekomme und sicherstelle, dass es funktioniert, werde ich deine Antwort als richtig markieren. Danke noch einmal! – isudude17

+0

Arbeitete perfekt! Mein Problem war, dass ich reactivateMeCell als String anstatt als Objekt deklarierte. – isudude17

+0

@ isudude17: Ich bin froh, dass ich helfen konnte! ;) – R3uK

0

ActiveCell ist eine Eigenschaft des Application

Also ich denke, du bist für

Dim reactivateMeCell as String 
reactivateMeCell = xlB.ActiveCell.Address 

oder nur

Dim reactivateMeCell as Object 'Excel.Range 
reactivateMeCell = xlB.ActiveCell 

suchen, je nachdem, was Sie als die Variable deklarieren möchten.