Elektroda.pl
Elektroda.pl
X

Search our partners

Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Eksport danych z Excel jako UTF 8

etiene8912 04 Oct 2015 20:34 4020 9
  • #1
    etiene8912
    Level 11  
    Korzystam z programu Anki do nauki słówek, program działa tak, że najpierw pokazuje słówko, później jego tłumaczenie.
    Żeby stworzyć swoją talię, którą mogę do niego zaimportować tworzę plik Excel, gdzie w kolumnie A jest słówko, w B definicja. Taką tabelę kopiuję do Worda bez formatowania i z Worda zapisuje jako zwykły tekst w formatowaniu UTF8, a taki plik importuje do Anki.
    Czy da się to zrobić od razu z Excela?

    Film z youtube przedstawia dokładnie o co mi chodzi.

  • #2
    Zielonka
    Level 22  
    Witam
    Spróbuj zapisać jako typ: Tekst(MS-DOS).
    Program przy zapisie trochę pokrzyczy. Ignorujemy komunikaty i zapisz.
    Pozdrawiam
    W.B.
  • #3
    adamas_nt
    Moderator of Programming
    >Plik
    >Zapisz jako
    >Inne formaty

    wybierasz: Tekst Unicode
    wpisujesz nazwę

    Następnie z listy "Narzędzia" (po lewej od przycisku zapisz) wybierasz "Opcje sieci Web, przechodzisz do zakładki 'kodowanie' i wybierasz UTF8

    Eksport danych z Excel jako UTF 8

    następnie
    Zielonka wrote:
    Program przy zapisie trochę pokrzyczy. Ignorujemy komunikaty i zapisz.

    :)
  • #4
    etiene8912
    Level 11  
    A czy jest możliwość wstawienia okna dialogowego?
    Takie okienko, które wyskakuje i pyta gdzie chcesz zapisać ten plik? Ustawienia by zostały, podawałoby się tylko lokalizację - miejsce zapisu pliku.
    Jak mogę to zrobić?
  • #6
    etiene8912
    Level 11  
    Ok i w momencie gdy wstawię tą funkcję nie dzieje się nic - pojawia się błąd "directory not found".
    Nie wiem jak wstawić tą funkcję do makra, tak, aby pojawiało się okno dialogowe.
    Code:
    Sub export_to_anki()
    
    '
    ' export_to_anki Makro
    ' Prepare export form Excel sheet to Anki 1 st column - word 2 nd column - definition
    '
    ' Klawisz skrótu: Ctrl+g
    '
        With ActiveWorkbook.WebOptions
            .RelyOnCSS = True
            .OrganizeInFolder = True
            .UseLongFileNames = True
            .DownloadComponents = False
            .RelyOnVML = False
            .AllowPNG = True
            .ScreenSize = msoScreenSize1024x768
            .PixelsPerInch = 96
            .Encoding = msoEncodingUTF8
        End With
        With Application.DefaultWebOptions
            .SaveHiddenData = True
            .LoadPictures = True
            .UpdateLinksOnSave = True
            .CheckIfOfficeIsHTMLEditor = True
            .AlwaysSaveInDefaultEncoding = False
            .SaveNewWebPagesAsWebArchives = True
        End With
        ChDir "H:\ANKI\Moje fiszki do Anki"
        ActiveWorkbook.SaveAs Filename:= _
            "H:\ANKI\Moje fiszki do Anki\import.txt", FileFormat:=xlUnicodeText _
            , CreateBackup:=False
    End Sub


    'wymaga referencji do Microsoft Office XX Object Library
    Function WskazFolder(TytulOkna As String, TytulPrzycisku As String) As String
        Dim Okno As FileDialog
        Dim Wybrane As String
        Set Okno = Application.FileDialog(msoFileDialogFolderPicker)
        Okno.Title = TytulOkna
        Okno.ButtonName = TytulPrzycisku
        If Okno.Show = -1 Then
            Wybrane = Okno.SelectedItems(1)
            If Right(Wybrane, 1) <> "\" Then
                WskazFolder = Wybrane & "\"
            Else
                WskazFolder = Wybrane
            End If
        End If
    End Function
  • #7
    JRV
    VBA, Excel specialist
    Najpierw musisz zrozumieć różnicę między procedury i funkcji, jeśli używasz dokładnie funkcja. To przeczytaj pomoc.
    Jeśli używasz funkcji, jak w przykładzie na tej stronie, a następnie uważnie przeczytać cały kod, szczególnie jako ta funkcja jest używana, bo sama robi nic do czasu aż jest używana.
    Funkcja w programie, jak również wszelkich innych funkcji powininna zwrócić wartośc.
    Code:
    Folder = WskazFolder("Wskaż folder z plikami do scalenia", "Scalaj")
  • #8
    etiene8912
    Level 11  
    Ok, ale ja nie jestem programistą - ja po prostu nie wiem jak ją wstawić - chcę sobie uprościć to, co robię codziennie, czyli wpisywanie słówek do programu.
  • #9
    JRV
    VBA, Excel specialist
    W tym przypadku ta funkcja nie jest wymagana.
    Zamiast
    Code: vb
    Log in, to see the code

    wpisz
    Code: vb
    Log in, to see the code
  • #10
    etiene8912
    Level 11  
    Jeszcze jedna rzecz:

    Stworzyłem szablon Excel z obsługą makr - jak zapiszę moje słówka w taki sposób makrem, to Excel zmienia mi od razu nazwę mojego szablonu.

    Czyli - szablon zamiast eksport do Anki, staje się plikiem import txt - czy można to jakoś zmienić, tak, aby plik import txt zapisywał się jako nowy plik - bez ruszania szablonu?