Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Excel Tabellenblatt in Grafik umwandeln???

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Excel Tabellenblatt in Grafik umwandeln??? (5154 mal gelesen)
HKXVZBi
Ehrenmitglied
Konstruktion Elektroplanung


Sehen Sie sich das Profil von HKXVZBi an!   Senden Sie eine Private Message an HKXVZBi  Schreiben Sie einen Gästebucheintrag für HKXVZBi

Beiträge: 1502
Registriert: 27.01.2010

erstellt am: 19. Feb. 2010 07:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo, ich habe folgendes Problem:

Es sollen Schilder mittels einer Lasergravurmaschine  erstellt werden,
(bzw. wird dies bereits so gehandhabt), dabei handelt es sich um eine Graviermaschine von der Firma "GRAVOGRAPH" (LS100).
Diese Maschine wird mit Hilfe der Software GravoStyle 5 angesteuert.

Das Problem liegt jetzt darin, das sehr viele Schilder angefertigt werden müssen und der Beschriftungstext in Form einer Exceltabelle vorgegeben wird.

In GravoStyle 5 können aber keine Exceltabellen (außer über „COPY/PASTE“) importiert/eingefügt werden. Es werden jedoch die folgenden Formate unterstützt DXF, EPS, HPGL, BMP, JPG, GIF, TIFF, PNG und WMF. Diese können einfach importiert werden.

Gibt es eine Möglichkeit (außer über Screenshots) eine Exceltabelle in eine Grafik umzuwandeln, am günstigsten wäre hier natürlich eine Vektorgrafik, um eine ausreichend hohe Qualität zu gewährleisten.

Ich habe bereits Dr. Google und auch die Suchfunktion des Forums befragt, aber bin zu keinem erfolgreichem Ergebnis gekommen.

Womöglich weil es dafür keine Lösung gibt…? 

Gruß und Dank schon mal vorweg 
Marco

------------------
„Wenn man sagt, daß man einer Sache grundsätzlich zustimmt, so bedeutet es, daß man nicht die geringste Absicht hat, sie in der Praxis durchzuführen.“

Otto von Bismarck

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Paulchen
Mitglied
Bauing./SW-Entwickler


Sehen Sie sich das Profil von Paulchen an!   Senden Sie eine Private Message an Paulchen  Schreiben Sie einen Gästebucheintrag für Paulchen

Beiträge: 1227
Registriert: 19.08.2004

Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice

erstellt am: 19. Feb. 2010 10:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HKXVZBi 10 Unities + Antwort hilfreich

Umweg:

In Excel Bereich markieren, kopieren (Strg+C). Shift-Taste gedrückt halten - Einfügen - als Bild..? Erstellung/Export per VBA. Qualität: Keine Ahnung.

------------------
DIN1055.de  |  Lastannahmen für Anwender NEU: Foren zu DIN 1055

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HKXVZBi
Ehrenmitglied
Konstruktion Elektroplanung


Sehen Sie sich das Profil von HKXVZBi an!   Senden Sie eine Private Message an HKXVZBi  Schreiben Sie einen Gästebucheintrag für HKXVZBi

Beiträge: 1502
Registriert: 27.01.2010

erstellt am: 19. Feb. 2010 11:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke für die Schnelle Antwort da werd ich mich gleich mal schalau machen wie ich das mit VBA umsetzten kann!

------------------
„Wenn man sagt, daß man einer Sache grundsätzlich zustimmt, so bedeutet es, daß man nicht die geringste Absicht hat, sie in der Praxis durchzuführen.“

Otto von Bismarck

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Nepumuk
Mitglied
Entwicklungsleiter


Sehen Sie sich das Profil von Nepumuk an!   Senden Sie eine Private Message an Nepumuk  Schreiben Sie einen Gästebucheintrag für Nepumuk

Beiträge: 351
Registriert: 16.10.2004

erstellt am: 20. Feb. 2010 09:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HKXVZBi 10 Unities + Antwort hilfreich

Hallo,

gewünschten Bereich markieren und die Routine "Save_Image" (Alt+F8) starten. Das Bild wird als Bitmap unter C:\Temp mit dem Namen "Image.bmp" abgelegt. Eine bestehende Datei mit diesem Namen wird ohne Nachfrage überschrieben.

Code:
Option Explicit

Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" ( _
    ByVal lpClassName As String, _
    ByVal lpWindowName As String) As Long
Private Declare Function IsClipboardFormatAvailable Lib "user32.dll" ( _
    ByVal wFormat As Integer) As Long
Private Declare Function OpenClipboard Lib "user32.dll" ( _
    ByVal hWnd As Long) As Long
Private Declare Function GetClipboardData Lib "user32.dll" ( _
    ByVal wFormat As Integer) As Long
Private Declare Function EmptyClipboard Lib "user32.dll" () As Long
Private Declare Function CloseClipboard Lib "user32.dll" () As Long
Private Declare Function OleCreatePictureIndirect Lib "olepro32.dll" ( _
    ByRef PicDesc As uPicDesc, _
    ByRef RefIID As GUID, _
    ByVal fPictureOwnsHandle As Long, _
    ByRef IPic As IPicture) As Long
Declare Function CopyEnhMetaFile Lib "gdi32.dll" Alias "CopyEnhMetaFileA" ( _
    ByVal hemfSrc As Long, _
    ByVal lpszFile As String) As Long
Declare Function CopyImage Lib "user32.dll" ( _
    ByVal handle As Long, _
    ByVal un1 As Long, _
    ByVal n1 As Long, _
    ByVal n2 As Long, _
    ByVal un2 As Long) As Long
Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" ( _
    ByVal DirPath As String) As Long

Private Type GUID
    Data1 As Long
    Data2 As Integer
    Data3 As Integer
    Data4(0 To 7) As Byte
End Type

Private Type uPicDesc
    lngSize As Long
    lngType As Long
    lnghPic As Long
    lnghPal As Long
End Type

Private Const E_ABORT = &H80004004
Private Const E_ACCESSDENIED = &H80070005
Private Const E_FAIL = &H80004005
Private Const E_HANDLE = &H80070006
Private Const E_INVALIDARG = &H80070057
Private Const E_NOINTERFACE = &H80004002
Private Const E_NOTIMPL = &H80004001
Private Const E_OUTOFMEMORY = &H8007000E
Private Const E_POINTER = &H80004003
Private Const E_UNEXPECTED = &H8000FFFF
Private Const S_OK = &H0
   
Private Const CF_BITMAP = 2
Private Const CF_PALETTE = 9
Private Const CF_ENHMETAFILE = 14
Private Const IMAGE_BITMAP = 0
Private Const LR_COPYRETURNORG = &H4

Private Const FOLDER_NAME = "C:\TEMP\"
Private Const FILE_NAME = "Image.bmp"

Public Sub Save_Image()

    Dim vntPicture As Variant
    Dim lngReturn As Long
   
    Selection.CopyPicture xlScreen, xlBitmap
   
    Set vntPicture = Paste_Picture(xlBitmap)
    If Not vntPicture Is Nothing Then
        lngReturn = MakeSureDirectoryPathExists(FOLDER_NAME)
        If lngReturn = 0 Then
            MsgBox "Unalble to create folder: '" & FOLDER_NAME & "'.", vbCritical, "Error"
        Else
            stdole.StdFunctions.SavePicture vntPicture, FOLDER_NAME & FILE_NAME
        End If
    Else
        MsgBox "Not possible to save picture.", vbCritical, "Error"
    End If
   
End Sub

Function Paste_Picture(Optional lXlPicType As Long = xlPicture) As IPicture

    Dim lngReturn As Long, hPtr As Long, hPal As Long
    Dim lngPicType As Long, hCopy As Long
   
    lngPicType = IIf(lXlPicType = xlBitmap, CF_BITMAP, CF_ENHMETAFILE)
    If IsClipboardFormatAvailable(lngPicType) <> 0 Then
        lngReturn = OpenClipboard(Application.hWnd)
        If lngReturn > 0 Then
            hPtr = GetClipboardData(lngPicType)
            If lngPicType = CF_BITMAP Then
                hCopy = CopyImage(hPtr, IMAGE_BITMAP, 0, 0, LR_COPYRETURNORG)
            Else
                hCopy = CopyEnhMetaFile(hPtr, vbNullString)
            End If
            Call CloseClipboard
            If hPtr <> 0 Then Set Paste_Picture = Create_Picture(hCopy, 0, lngPicType)
        End If
    End If
   
End Function

Private Function Create_Picture( _
    ByVal lnghPic As Long, _
    ByVal lnghPal As Long, _
    ByVal lngPicType As Long) As IPicture
   
    Const PICTYPE_BITMAP = 1
    Const PICTYPE_ENHMETAFILE = 4
   
    Dim lngReturn As Long, uPicInfo As uPicDesc, IID_IDispatch As GUID, IPic As IPicture

    With IID_IDispatch
        .Data1 = &H7BF80980
        .Data2 = &HBF32
        .Data3 = &H101A
        .Data4(0) = &H8B
        .Data4(1) = &HBB
        .Data4(2) = &H0
        .Data4(3) = &HAA
        .Data4(4) = &H0
        .Data4(5) = &H30
        .Data4(6) = &HC
        .Data4(7) = &HAB
    End With
    With uPicInfo
        .lngSize = Len(uPicInfo)
        .lngType = PICTYPE_BITMAP
        .lnghPic = lnghPic
        .lnghPal = lnghPal
    End With
    lngReturn = OleCreatePictureIndirect(uPicInfo, IID_IDispatch, True, IPic)
    If lngReturn <> 0 Then MsgBox "Error occure" & OLEError(lngReturn), vbCritical, "Error"
    Set Create_Picture = IPic
   
End Function

Private Function OLEError(lErrNum As Long) As String

    Select Case lErrNum
        Case E_ABORT:        OLEError = " Aborted"
        Case E_ACCESSDENIED: OLEError = " Access Denied"
        Case E_FAIL:        OLEError = " General Failure"
        Case E_HANDLE:      OLEError = " Bad/Missing Handle"
        Case E_INVALIDARG:  OLEError = " Invalid Argument"
        Case E_NOINTERFACE:  OLEError = " No Interface"
        Case E_NOTIMPL:      OLEError = " Not Implemented"
        Case E_OUTOFMEMORY:  OLEError = " Out of Memory"
        Case E_POINTER:      OLEError = " Invalid Pointer"
        Case E_UNEXPECTED:  OLEError = " Unknown Error"
        Case S_OK:          OLEError = " Success!"
    End Select
   
End Function


------------------
Gruß
Nepumuk 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Beverly
Mitglied
Dipl.-Geologe (Rentner)


Sehen Sie sich das Profil von Beverly an!   Senden Sie eine Private Message an Berverly  Schreiben Sie einen Gästebucheintrag für Berverly

Beiträge: 394
Registriert: 11.08.2007

erstellt am: 21. Feb. 2010 16:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HKXVZBi 10 Unities + Antwort hilfreich

Hi Marco,

vielleicht eine Möglichkeit:

Code:
Sub BereichAlsBildExportieren()
    Dim chDiagramm As ChartObject
    Application.ScreenUpdating = False
    Selection.CopyPicture Appearance:=xlPrinter, Format:=xlPicture
    Set chDiagramm = ActiveSheet.ChartObjects.Add(0, 0, Selection.Width, Selection.Height)
    With chDiagramm.Chart
        .Paste
        .Export Filename:="C:\Test\Bild.jpg", FilterName:="JPG"  <== andere Grafikformate sind möglich
    End With
    chDiagramm.Delete
    Set chDiagramm = Nothing
    Application.ScreenUpdating = True
End Sub

------------------
Bis später,
Karin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz