OLE Namensvergabe und Gültigkeit

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
1 Beitrag • Seite 1 von 1
1 Beitrag Seite 1 von 1

OLE Namensvergabe und Gültigkeit

Beitrag von aladinHH (ForumUser / 5 / 0 / 0 ) »
Hallo zusammen,

ich habe da gleich zwei Probleme. Ich möchte gerne per OLE aus SAP in einem Excelsheet einem Bereich von Zellen einen Namen zuweisen und dann einer Zelle nur die Einträge aus dem Bereich als Gültigkeit zulassen. Einen Namen muss ich deswegen vergeben, weil die gültigen Daten später in einem anderen sheet sein werden, dann braucht Excel einen Namen. Ich habe da mal mein coding inkl. excel-makro(als kommentar am Ende) beigefügt. Ich hoffe dass mir einer von Euch meine Erleuchtung zurück gibt.

REPORT zzexcel.
TYPE-POOLS ole2.

DATA: excel TYPE ole2_object,
mapl TYPE ole2_object, " list of workbooks
workbook TYPE ole2_object, " Workbook
map TYPE ole2_object, " Mappe
cell TYPE ole2_object.

CREATE OBJECT excel 'EXCEL.APPLICATION'.

IF sy-subrc NE 0.
WRITE : / 'Fehler CREATE OBJECT'.
ELSE.
SET PROPERTY OF excel 'Visible' = 1.
CALL METHOD OF excel 'Workbooks' = workbook.
CALL METHOD OF workbook 'Add' = map.

PERFORM fill_cell USING 1 1 'ONE'.
PERFORM fill_cell USING 2 1 'TWO'.
PERFORM fill_cell USING 3 1 'THREE'.

PERFORM format_cells USING 1 1 3 1.
* PERFORM get_validate USING 1 1 3 1 5 1.

CALL METHOD OF map 'SaveAs' EXPORTING #1 = 'Z:/test_ole2.xls'.
CALL METHOD OF workbook 'CLOSE'.
CALL METHOD OF excel 'QUIT'.

FREE OBJECT: cell,
map,
workbook,
mapl,
excel.
ENDIF.

*---------------------------------------------------------------------*
* FORM fill_cell *
*---------------------------------------------------------------------*
FORM fill_cell USING i j val.

CALL METHOD OF excel 'Cells' = cell
EXPORTING #1 = i #2 = j.
SET PROPERTY OF cell 'Value' = val .

ENDFORM.


*---------------------------------------------------------------------*
* FORM format_cells *
*---------------------------------------------------------------------*
FORM format_cells USING a
b
c
d.

DATA:
o_start TYPE ole2_object,
o_end TYPE ole2_object,
o_selection TYPE ole2_object,
o_range TYPE ole2_object.

CALL METHOD OF excel 'Cells' = cell.
CALL METHOD OF cell 'Select'.
CALL METHOD OF excel 'ActiveSheet' = map.

*** Range definieren: Start
CALL METHOD OF map 'Cells' = o_start
EXPORTING
#1 = a
#2 = b.
*** Range definieren: Ende
CALL METHOD OF map 'Cells' = o_end
EXPORTING
#1 = c
#2 = d.
*** Range aktivieren
CALL METHOD OF map 'range' = o_range
EXPORTING
#1 = o_start
#2 = o_end.
*** Range selektieren
CALL METHOD OF o_range 'Select'.

*** Aktuelle Selektion zuweisen
CALL METHOD OF o_range 'Selection' = o_selection.
SET PROPERTY OF o_selection 'Names' = 'TEST'.

FREE OBJECT: o_start,
o_end,
o_selection,
o_range.

ENDFORM. " format_cells

*&---------------------------------------------------------------------*
*& Form get_validate
*&---------------------------------------------------------------------*
* Gültigkeit hinterlegen
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
FORM get_validate USING a b c d e f.

DATA:
o_selection TYPE ole2_object.

CALL METHOD OF excel 'Cells' = cell
EXPORTING #1 = e #2 = f.

CALL METHOD OF cell 'Select' = o_selection.
CALL METHOD OF o_selection 'Validation'.

SET PROPERTY OF o_selection: 'Add Type' = '3'.
SET PROPERTY OF o_selection: 'AlertStyle' = '1'.
SET PROPERTY OF o_selection: 'Operator' = '1'.
SET PROPERTY OF o_selection: 'Formula1' = '$A$1:$A$3'.
* SET PROPERTY OF o_selection: 'Formula1' = '=TEST'.
SET PROPERTY OF o_selection: 'IgnoreBlank' = 'X'.
SET PROPERTY OF o_selection: 'InCellDropdown' = 'X'.
SET PROPERTY OF o_selection: 'ShowInput' = 'X'.
SET PROPERTY OF o_selection: 'ShowError' = 'X'.

FREE OBJECT: o_selection.

ENDFORM. " get_validate


***************************************Excel Makro
*Name zuweisen
* Range("A1:A3").Select
* ActiveWorkbook.Names.Add Name:="Numbers", RefersToR1C1:= _
* "=Tabelle1!R1C1:R3C1"

*als Gültigkeit hinterlegen
* Sheets("Tabelle2").Select
* With Selection.Validation
* .Delete
* .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop,
*Operator:= _
* xlBetween, Formula1:="=Numbers"
* .IgnoreBlank = True
* .InCellDropdown = True
* .InputTitle = ""
* .ErrorTitle = ""
* .InputMessage = ""
* .ErrorMessage = ""
* .ShowInput = True
* .ShowError = True

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Seite 1 von 1

Vergleichbare Themen

0
Antw.
1414
Views
Gültigkeit von Phrasen
von toddl99 » 08.04.2008 21:19 • Verfasst in Sonstige Module
0
Antw.
1617
Views
Gültigkeit von Einstellungen
von SAP_ENTWICKLER » 23.02.2018 06:13 • Verfasst in SAP HANA für Anfänger
5
Antw.
4229
Views
Gültigkeit PERNR zu ARBPL
von ralf.wenzel » 07.02.2014 13:25 • Verfasst in ABAP® Core
5
Antw.
3513
Views
Beliebigen Feldinhalt auf Gültigkeit prüfen
von ralf.wenzel » 07.02.2015 13:05 • Verfasst in ABAP® Core
0
Antw.
747
Views
Beliebigen Feldinhalt auf Gültigkeit prüfen 2.0
von Saftladen » 05.01.2024 10:57 • Verfasst in ABAP® Core

Über diesen Beitrag

aladinHH
Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Zeilenumbrüche ersetzen
vor 3 Minuten von rob_abc 2 / 9
Dialog-Container mit Toolbar/Status
vor 18 Stunden von tar gelöst 19 / 2083
SAP Trial Version für SAP Fiori
vor 23 Stunden von tar 2 / 1444

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Zeilenumbrüche ersetzen
vor 3 Minuten von rob_abc 2 / 9
Dialog-Container mit Toolbar/Status
vor 18 Stunden von tar gelöst 19 / 2083
SAP Trial Version für SAP Fiori
vor 23 Stunden von tar 2 / 1444

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
Gestern von Bright4.5 1 / 504
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2143
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8738