Import PDF do excelu Vyřešeno

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

petr22
Guru Level 15
Guru Level 15
Příspěvky: 53610
Registrován: únor 12
Pohlaví: Muž
Stav:
Offline

Re: Import PDF do excelu

Příspěvekod petr22 » 13 kvě 2023 15:52

Takovehle extra konvertovani bych zakaznikovi nauctoval, on se rychle nauci nepridelavat ostatnim
praci a zacne posilat v normalnim formatu. Stejne musi nekdo kontrolovat ze je to ve finalne spravne.

Toto se resi zverejnenim jakym zpusobem jsou objednavky prijimany a nic jineho neakceptovat.

Opakuji: Office 2021 umi import PDF. Zacal bych minimalne tim, ze stahnu zkusebni verzi a vyzkousim,
jestli nahodou neresi problem lepe, nez se pokouzet automatizovat konvertor.

Reklama
Uživatelský avatar
ITCrowd
Tvůrce článků
Guru Level 13.5
Guru Level 13.5
Příspěvky: 23605
Registrován: březen 10
Pohlaví: Muž
Stav:
Offline

Re: Import PDF do excelu

Příspěvekod ITCrowd » 13 kvě 2023 15:55

Zapomínáš, že zákazník taky může jít jinam. A jestli dává 20 objednávek denně, tak bych si to hooodně rozmýšlel.
Off21 může být řešením.
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router

Uživatelský avatar
Grander
Level 4.5
Level 4.5
Příspěvky: 1889
Registrován: leden 12
Pohlaví: Muž
Stav:
Offline

Re: Import PDF do excelu

Příspěvekod Grander » 13 kvě 2023 16:20

Já jenom dodám, že hromadná automatická extrakce textových dat z PDF je opravdu rozšířeným úkonem (čili požadavek tazatele vůbec není nijak vyjímečný), takže na to existuje spousta návodů na netu (většinou se na to využívá Python, a chce to tomu trochu rozumět a věnovat tomu nějaký čas), připadně teď už jsou i online služby na bázi umělé inteligence, které to udělají automaticky, aniž by uživatel musel umět kodovat.

petr22
Guru Level 15
Guru Level 15
Příspěvky: 53610
Registrován: únor 12
Pohlaví: Muž
Stav:
Offline

Re: Import PDF do excelu

Příspěvekod petr22 » 13 kvě 2023 16:28

To je prave ten problem, je to zbytecna prace navic ktere se musi venovat cas. Nakonec
prijde dalsi zakaznik ktery nechce nic menit a ve finale mas 150 ruznych konvertoru, faxy,
potrubni postu a firemni staj kde jsou pripraveni cerstvi kone, protoze nekdo pouziva
pouze dostavniky.

To bych radsi naprogramoval webovou aplikaci, do ktere budou zakaznici vkladat zakazky,
ze ktere budou padat data automaticky ve spravnem formatu.

I ten Office 2021 je krok navic, kdy neodpada ta faze, kdy je nekdo placen za to, ze vizualne
zkontroluje vlozena data, o klikani navic nemluve. Cas jsou penize. Postup musi byt jednoduchy,
efektivni a nesmi dovolit udelat chybu.

I kdyby to byla 1 minuta na kazdy soubor, je to 20 zakazek denne, tedy 20 minut denne stravenych
pouze touto praci navic. 25 takovych zakazniku a uzivi jednoho cloveka na plny uvazek.

Office 365 lze vyzkouset na 1 mesic zdarma - a ten import PDF umi. Tedy mozno overit, ze je to reseni.

luko02420
Level 2
Level 2
Příspěvky: 203
Registrován: únor 12
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Import PDF do excelu

Příspěvekod luko02420 » 13 kvě 2023 19:49

Dobrý večer,
doma mám na nt office 365, tak jsem zkusil nahrát kód a importovat zmíněné pdf.
Vše proběhlo v pohodě veškerá data se načetla.
Teď akorát musím nějak ten nahrátý kód upravit, aby mě načetl všechny pdf soubory, a abych nemusel používat proměnou v názvu a makro načítat opakovaně.
Taky nevím jak odstranit propojení z načtených dat.

Kód: Vybrat vše

Sub pdf()
'
' pdf Makro
'

'
    ActiveWorkbook.Queries.Add Name:="Page001", Formula:= _
        "let" & Chr(13) & "" & Chr(10) & "    Zdroj = Pdf.Tables(File.Contents(""C:\Users\luko02420\Documents\23172.pdf""), [Implementation=""1.3""])," & Chr(13) & "" & Chr(10) & "    Page1 = Zdroj{[Id=""Page001""]}[Data]," & Chr(13) & "" & Chr(10) & "    #""Změněný typ"" = Table.TransformColumnTypes(Page1,{{""Column1"", type text}, {""Column2"", type text}, {""Column3"", type text}, {""Column4"", type text}, {""Column5"", type text}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & "    #""Změněný typ"""
    ActiveWorkbook.Worksheets.Add
    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
        "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=Page001;Extended Properties=""""" _
        , Destination:=Range("$A$1")).QueryTable
        .CommandType = xlCmdSql
        .CommandText = Array("SELECT * FROM [Page001]")
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .ListObject.DisplayName = "Page001_2"
        .Refresh BackgroundQuery:=False
    End With
    Range("A4").Select
End Sub

Uživatelský avatar
elninoslov
Level 2.5
Level 2.5
Příspěvky: 371
Registrován: červen 13
Pohlaví: Muž
Stav:
Offline

Re: Import PDF do excelu

Příspěvekod elninoslov » 16 kvě 2023 08:25

Kód: Vybrat vše

Sub pdf()
Dim Cesta As String, Con As WorkbookConnection

    Cesta = "C:\Users\luko02420\Documents\"
   
    With ThisWorkbook
        On Error Resume Next
        .Queries("ObjednavkyPDF").Delete    'zmazať prípadný predchádzajúci dotaz PQ
        On Error GoTo 0
       
        'vytvorenie PowerQuery dorazu
        .Queries.Add Name:="ObjednavkyPDF", Formula:="let" & vbCrLf _
        & "    Zdroj = Folder.Files(""" & Cesta & """)," & Chr(13) & Chr(10) _
        & "    #""Text napísaný malými písmenami"" = Table.TransformColumns(Zdroj,{{""Extension"", Text.Lower, type text}})," & vbCrLf _
        & "    #""Filtrované skryté súbory"" = Table.SelectRows(#""Text napísaný malými písmenami"", each [Attributes]?[Hidden]? <> true and [Extension]="".pdf"")," & vbCrLf _
        & "    #""Odstránené ostatné stĺpce"" = Table.SelectColumns(#""Filtrované skryté súbory"",{""Content"", ""Name""})," & vbCrLf _
        & "    #""Vyvolať vlastnú funkciu"" = Table.AddColumn(#""Odstránené ostatné stĺpce"", ""Transformovať súbor"", each Pdf.Tables([Content], [Implementation=""1.3""]){[Id=""Page001""]}[Data])," & vbCrLf _
        & "    #""Rozbalené Transformovať súbor"" = Table.ExpandTableColumn(#""Vyvolať vlastnú funkciu"", ""Transformovať súbor"", {""Column1"", ""Column2"", ""Column3"", ""Column4"", ""Column5""}, {""Column1"", ""Column2"", ""Column3"", ""Column4"", ""Column5""})," & vbCrLf _
        & "    #""Odstránené stĺpce"" = Table.RemoveColumns(#""Rozbalené Transformovať súbor"",{""Content""})," & vbCrLf _
        & "    #""Změněný typ"" = Table.TransformColumnTypes(#""Odstránené stĺpce"",{{""Name"", type text}, {""Column1"", type text}, {""Column2"", type text}, {""Column3"", type text}, {""Column4"", type text}, {""Column5"", type text}})" & vbCrLf _
        & "in" & vbCrLf _
        & "    #""Změněný typ"""
    End With
   
    With wsObjednavkyPDF
        .Cells.Clear    'vymazanie predchádzajúcej tabuľky

        'vytvorenie Tabuľky a pripojenia na dotaz PQ
        With .ListObjects.Add(SourceType:=0, _
                              Source:="OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=ObjednavkyPDF;Extended Properties=""""", _
                              Destination:=wsObjednavkyPDF.Range("$A$1")).QueryTable
            .CommandType = xlCmdSql
            .CommandText = Array("SELECT * FROM [ObjednavkyPDF]")
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .PreserveColumnInfo = True
            .ListObject.DisplayName = "tblObjednavkyPDF"
            .Refresh BackgroundQuery:=False
        End With
       
        'zrušenie Tabuľky
        With .ListObjects("tblObjednavkyPDF")
            .TableStyle = ""
            .Unlink
            .Unlist
        End With
        Application.Goto .Range("A1"), True 'skok na výsledok
    End With

    'vymazanie pripojení na dotaz PQ
    With ThisWorkbook
        .Queries("ObjednavkyPDF").Delete
        For Each Con In .Connections
            If InStr(1, Con.OLEDBConnection.Connection, "Location=ObjednavkyPDF") > 0 Then Con.Delete
        Next Con
    End With

    Set Con = Nothing
End Sub
Přílohy
Import objednávok PDF.xlsm
(24.66 KiB) Staženo 19 x

luko02420
Level 2
Level 2
Příspěvky: 203
Registrován: únor 12
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Import PDF do excelu  Vyřešeno

Příspěvekod luko02420 » 16 kvě 2023 11:27

Dobrý den,
ještě jednou děkuji, dělá přesně to co potřebuji. Zlaté ruce.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • PowerQuery - import dat do sloupců Příloha(y)
    od MK_Vs » 31 říj 2023 10:00 » v Kancelářské balíky
    9
    2121
    od MK_Vs Zobrazit poslední příspěvek
    02 lis 2023 09:26
  • VPS Hosting pro import vlastního VM (proxmox)
    od FIDLIK » 20 říj 2023 21:16 » v Vše ostatní (sw)
    0
    1728
    od FIDLIK Zobrazit poslední příspěvek
    20 říj 2023 21:16
  • Poškozený soubor excelu Příloha(y)
    od Jsimi » 06 úno 2024 22:43 » v Kancelářské balíky
    0
    808
    od Jsimi Zobrazit poslední příspěvek
    06 úno 2024 22:43
  • Promítaní excelu a videa zároveň
    od Marw7_ » 02 čer 2023 15:57 » v Vše ostatní (sw)
    2
    1315
    od X Zobrazit poslední příspěvek
    02 čer 2023 18:06
  • Tisk z excelu mění výšky buněk
    od Moonddur » 28 dub 2023 11:50 » v Kancelářské balíky
    1
    1809
    od atari Zobrazit poslední příspěvek
    28 dub 2023 12:08

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 9 hostů