Bild Anzeigen durch Artikelnummer

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

SlowinvestHB

Bild Anzeigen durch Artikelnummer

Beitrag von SlowinvestHB » Sa, 15.07.2017 09:55

Moin moin,

ich habe bereits viel Google befragt, viel herum Probiert und weiß das das häufigste Problem der Nutzer selbst ist ;-)

ich komme dennoch nicht weiter. Und bin Neuling in dem Bereich.

Ich möchte durch das eingeben einer Artikelnummer ein Bild anzeigen lassen. Aus einem Ordner vom Server. Das soll Normalerweise unter Excel 2010 laufen. Jetzt Aktuell versuche ich es aber in Open Office. Version 4.1.1 unter Windows 10
Ich nutze in beidem denselben Code (geht das überhaupt?) Beides Funktioniert nicht. In O.O. erhalte ich eine menge syntax Fehler. aber weiß nicht was der fehler genau ist.

Der Code sieht so aus:

Code: Alles auswählen

Public Function ZeigeBild(ByVal strBildname As String, Bildhöhe As Long) As String

Dim strDatei As String
Dim Bildbreite As Double
Dim Bildhoehe As Double
Dim meinBild
Dim strZielzelle As String

strZielzelle = Application.Caller.Address

strDatei = C:\Users\Ordner\BILDER\" & strBildname & ".jpg"

If Dir(strDatei) <> "" Then
  Set meinBild = LoadPicture(strDatei)
  Bildbreite = meinBild.Width
  Bildhoehe = meinBild.Height
  
  ActiveSheet.Shapes.AddPicture strDatei, msoFalse, msoTrue, Range(strZielzelle).Left, Range(strZielzelle).Top, Bildhöhe * 28.35 * Bildbreite / Bildhoehe, Bildhöhe * 28.35
  ZeigeBild = "Bild"
 Else
  ZeigeBild = "Bild nicht vorhanden"
End If

End FunctionREM  *****  BASIC  *****
Moderation: Zur übersichtlichen Darstellung des Textes und vom Programmcode im Text [​code][​/code] Tags gesetzt. – lorbass, Moderator

Und in der Zelle in der das Bild gezeigt werden soll:

=ZEIGEBILD(C4;3)

In dieser Zelle C4 würde die Artikelnummer eingegeben. Die genauso lautet wie der Name den Bildes ohne Endung .jpg im Ordner.

Leider Funktioniert es nicht. Ich erhalte auch nicht mehr die Meldung "Bild nicht vorhanden" Was zuerst immerhin noch kam. (Ohne Änderungen gemacht zu haben.) Habe in dem feld in dem das Bild gezeigt werden soll nun die Meldung #Makro?

Kann jemand einen Tipp geben Bitte?

Danke bis hierhin für die mühe.

MfG

Stephan
********
Beiträge: 10058
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Bild Anzeigen durch Artikelnummer

Beitrag von Stephan » So, 16.07.2017 13:25

Zum Einen fehlt ein Anführungszeichen in:

Code: Alles auswählen

strDatei = C:\Users\Ordner\BILDER\" & strBildname & ".jpg"
zum Zweiten ist das kein StarBasic:

Code: Alles auswählen

strZielzelle = Application.Caller.Address
zum Dritten ist ActiveSheet nirgends definiert:

Code: Alles auswählen

ActiveSheet.Shapes.AddPicture strDatei, msoFalse, msoTrue, Range(strZielzelle).Left, Range(strZielzelle).Top, Bildhöhe * 28.35 * Bildbreite / Bildhoehe, Bildhöhe * 28.35

GRuß
Stephan

SlowinvestHB

Re: Bild Anzeigen durch Artikelnummer

Beitrag von SlowinvestHB » So, 16.07.2017 14:49

Hallo,

ja danke.

aber Wo fehlt das Anführungszeichen genau?
Was soll es mir sagen, es ist kein StarBasic ?
Und wie muss es aussehen wenn das ActiveSheet definiert werden soll?

Wie sieht dann der Korrigierte code aus?

MfG

Stephan
********
Beiträge: 10058
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Bild Anzeigen durch Artikelnummer

Beitrag von Stephan » So, 16.07.2017 15:28

aber Wo fehlt das Anführungszeichen genau?
Ist das eine Scherzfrage?

strDatei = "C:\Users\Ordner\BILDER\" & strBildname & ".jpg"
Was soll es mir sagen, es ist kein StarBasic ?
das es VBA-Code ist, denn es gibt in StarBasic kein Application-Object
Und wie muss es aussehen wenn das ActiveSheet definiert werden soll?

Code: Alles auswählen

ActiveSheet = ThisComponent.CurrentController.ActiveSheet
Wie sieht dann der Korrigierte code aus?
Das weiß ich nicht, auch weil ich mir nicht sicher bin ob das Ganze überhaupt funktionieren kann wie gewünscht. Ich bin mir jedenfalls nicht sicher ob das per benutzerdefinierter Funktion umsetzbar ist oder ob es nicht eines normalen Makros bedarf, weil man mit benutzerdefinierten Funktionen keine Zellaktionen durchführen kann, sondern nur Zellwerte zurückgeben und bei der Verankerung eines Bildes an einer Zelle bin ich nicht sicher ob das per Funktion geht (ich müsste es ausprobieren, dazu habe ich momentan keine Zeit).

Im Übrigen wolltest Du einen Tipp und den habe ich gegeben.


Gruß
Stephan

Slowinvest
Beiträge: 1
Registriert: Sa, 15.07.2017 09:36

Re: Bild Anzeigen durch Artikelnummer

Beitrag von Slowinvest » So, 16.07.2017 17:05

Moin,
  • nein, sollte kein Scherz sein.
  • Ja, soll VBA Code sein. keine Ahnung was StarBasic schon wieder ist.
  • OK, benötige wohl doch mehr als einen Tipp.
  • Trotzdem, danke für die Zeit bis hierhin.
eigentlich will ich nur durch eingabe einer Artikel nummer in Zelle C4 das jeweils zugehörige Bild in Zelle C7 Anzeigen.
Dachte das wäre eine einfache sache. Aber scheint wohl nicht zu funktionieren.
Jedenfalls nicht mal eben so.

Stephan
********
Beiträge: 10058
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Bild Anzeigen durch Artikelnummer

Beitrag von Stephan » So, 16.07.2017 17:25

Ja, soll VBA Code sein. keine Ahnung was StarBasic schon wieder ist.
Wir sind hier in einem Forum für OpenOffice und LibreOffice, die Makrosprache beider Programme ist StarBasic, VBA hingegen ist die Makrosprache von MS Office.



Gruß
Stephan

Stephan
********
Beiträge: 10058
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Bild Anzeigen durch Artikelnummer

Beitrag von Stephan » So, 16.07.2017 18:07

eigentlich will ich nur durch eingabe einer Artikel nummer in Zelle C4 das jeweils zugehörige Bild in Zelle C7 Anzeigen
dann wäre z.B. die Lösung hier:
viewtopic.php?t=67762

eine Anregung von der ausgehend man das umsetzen könnte. Man müsste im Wesentlichen nur statt des Dialogs ein Grafik-Steuerelement benutzen, das man an Zelle C7 verankert und statt der Wechsels der Zell-Selektion auf die Änderung des Inhalts in C4 reagieren.


Gruß
Stephan

F3K Total
********
Beiträge: 3136
Registriert: Mo, 28.02.2011 17:49

Re: Bild Anzeigen durch Artikelnummer

Beitrag von F3K Total » Mo, 17.07.2017 12:51

Hallo,
ich habe inzwischen versucht, das Thema mit einer FUNCTION zu lösen, es ist mir nicht gelungen. Es gibt in OpenOffice natürlich zig Möglichkeiten Bilder mit und ohne Makro anzuzeigen.
Da Slowinvest allerdings nicht angibt, was das Ziel der Übung ist, macht es wenig Sinn etwas vorzuschlagen.
Also:
  • Handelt es sich wirklich nur um eine einzige Zelle C4 in das der Name eingegeben werden soll, und um eine einzige Zelle C7, in der das zugehörige Bild dargestellt werden soll, oder sollen es viele Bilder, z.B. dann in den Zellen D4/D7, E4/E7 usw. werden?
  • Soll das angezeigte Bild/die angezeigten Bilder nur am Bildschirm betrachtet, oder ausgedruckt/in einem bestimmten Format gespeichert werden?
Wie gesagt, das Ziel der Übung ist unklar! Bitte beschreibe es genau.
Gruß R

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 8 Gäste