Nur ausgewählten spalten exportieren Topic is solved

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

KHA
Posts: 248
Joined: 21 Aug 2018, 11:11

Nur ausgewählten spalten exportieren

Post by KHA » 06 Jul 2020, 17:20

Hallo zusammen,
habe eine Liste, von dieser Liste möchte ich nur ausgewälte Spalten exportieren. z.B. Wenn bei Bezeichnung und Ek ein haken gesetzt dann soll es nur die beiden spalten angezeigt werden.
Ich weiß nicht, wie ich spalte 2. mit Checkbox Bezeichnung "verknüpfen" kann, damit wenn ich ein haken bei Bezeichnung setze, so dass nur die Spalte Bezeichnung angezeigt wird.

Danke schonmal für die Lösungsvorschläge

Code: Select all

#NoEnv
#SingleInstance, force
SetBatchLines, -1


Produkts=
(
ID	Bezeichnung	Vk	Ek	MWSt	Bestand
6337	Gillette Fusion5 Power Rasierer	5,95 €	19,45 €	16,0	111
6338	Gillette Fusion5 ProGlide Rasierer Geschenkset + 2 Rasierklingen	20,60 €	39,45 €	16,0	1
6339	Gillette SkinGuard Sensitive Rasiergel 200ml	12,50 €	29,65 €	16,0	3
6340	Gillette Fusion5 ProGlide Rasierklingen (8 Stück)	19,45 €	33,95 €	16,0	111

)

Gui, Add, CheckBox, vID, Artikel ID
Gui, Add, CheckBox, vBezeichnung Checked, Bezeichnung
Gui, Add, CheckBox, vVkp, Verkaufspreis
Gui, Add, CheckBox, vEkp, Einkaufspreis
Gui, Add, CheckBox, vMwSt, MwSt
Gui, Add, CheckBox, vBestand, Bestand
Gui, Add, Button, gStart Default w150 y+20, OK


Gui, Show, w200, CSV-Importer
Return

Start:
Gui Submit, NoHide
Loop, parse, Produkts, `n, `r
{
if (A_LoopField = "")
continue

ProduktsZeile := StrSplit(A_LoopField, "`t")
ProduktsId := ProduktsZeile[1]
ProduktsBezeichnung := ProduktsZeile[2]
ProduktsVk := ProduktsZeile[3]
ProduktsEk := ProduktsZeile[4]
ProduktsMwSt := ProduktsZeile[5]
ProduktsBestand := ProduktsZeile[6]

/*
;so funktioniert es leider nicht
If (ID = 1)
EndErg .= ProduktsId "`t"

If (Bezeichnung = 1)
EndErg .= ProduktsBezeichnung "`t"

EndErg .= "`n"
*/


}

MsgBox, % EndErg

Return

GuiClose:
GuiEscape:
ExitApp

BoBo
Posts: 3752
Joined: 13 May 2014, 17:15

Re: Nur ausgewählten spalten exportieren  Topic is solved

Post by BoBo » 07 Jul 2020, 01:17

Code: Select all

#NoEnv
#SingleInstance, force
SetBatchLines, -1


Produkts=
(
ID	Bezeichnung	Vk	Ek	MWSt	Bestand
6337	Gillette Fusion5 Power Rasierer	5,95 €	19,45 €	16,0	111
6338	Gillette Fusion5 ProGlide Rasierer Geschenkset + 2 Rasierklingen	20,60 €	39,45 €	16,0	1
6339	Gillette SkinGuard Sensitive Rasiergel 200ml	12,50 €	29,65 €	16,0	3
6340	Gillette Fusion5 ProGlide Rasierklingen (8 Stück)	19,45 €	33,95 €	16,0	111

)

Gui, Add, CheckBox, vCB1										, Artikel ID
Gui, Add, CheckBox, vCB2	Checked								, Bezeichnung
Gui, Add, CheckBox, vCB3										, Verkaufspreis
Gui, Add, CheckBox, vCB4										, Einkaufspreis
Gui, Add, CheckBox, vCB5										, MwSt
Gui, Add, CheckBox, vCB6										, Bestand
Gui, Add, Button,		 			gStart Default	w150	y+20, OK
Gui, Show, 											w200		, CSV-Importer
Return

Start:
EndErg := ""
Gui Submit, NoHide
Loop, parse, Produkts, `n, `r						; parse jede zeile
{
	If (A_LoopField = "")							; wenn leerzeile ...							
		Continue									; skip leerzeile.
	ProduktsZeile := StrSplit(A_LoopField, "`t")	; zerlege zeile in 'spalten' (array-items)
	Loop % ProduktsZeile.Length() {					; für die anzahl an items in zeile ...
	If (CB%A_Index% = 1)							; wenn checkbox für 'spalte' gecheckt ist ...
		EndErg .= ProduktsZeile[A_Index] "`t"		; concateniere den 'spalteninhalt'/das item
	}
	Trim(EndErg)									; eliminiere den letzten 'spalten'-delimiter zur vermeidung einer 'leerspalte'
	EndErg .= "`n"									; addiere einen zeilenvorschub
}
ToolTip, % EndErg									; anzeige
Return

GuiClose:
GuiEscape:
ExitApp
Getestet.

BTW, Produkts? Ist das Niederländisch?

KHA
Posts: 248
Joined: 21 Aug 2018, 11:11

Re: Nur ausgewählten spalten exportieren

Post by KHA » 07 Jul 2020, 09:50

@BoBo vielen Dank!
Den Checkboxen eine Namen mit fortlaufende nummern zu geben und mit einer schleife abzuarbeiten, ist Super!
BTW, Produkts? Ist das Niederländisch?
Nee, ist fantasy Deutsch, die Sprache, die ich spreche :lol:

Post Reply

Return to “Ich brauche Hilfe”