Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

EXCEL - VBA - Niby proste, a jednak.. ZAPISZ JAKO

bystrotrecon 08 Lut 2018 04:37 513 18
  • #1 08 Lut 2018 04:37
    bystrotrecon
    Poziom 7  

    Witam. Chciałbym wywołać okno zapisz jako np.

    ZapiszJako = Application.GetSaveAsFilename(fileFilter:="Skoroszyt Excel (*.xls), *.xls")

    ... ale po zapisaniu, pliku nadzwyczajnej nie ma. Dodatkowo, chciałbym aby okno przyjmowało konkretną ścieżkę z serwera. Po kilkunastu ładnych próbach poddaje się, nie wiem gdzie tkwi problem. Proszę o pomoc.

    0 18
  • #2 08 Lut 2018 06:18
    JRV
    Specjalista - VBA, Excel

    bystrotrecon napisał:
    pliku nadzwyczajnej nie ma

    Funkcja nie zapisuje, tylko zwraca nazwe pliku( gets a file name from the user without actually saving any files.)
    Dalej trzeba
    Workbooks(nazwa lub indeks).SaveAs ZapiszJako

    0
  • #3 08 Lut 2018 16:29
    bystrotrecon
    Poziom 7  

    Ok. Dziękuje, a w jaki sposób połączyć okno z daną ścieżka na serwerze?

    0
  • #4 10 Lut 2018 17:22
    bystrotrecon
    Poziom 7  

    Rozwiązałem to w sposób przedstawiony poniżej, ale nie wiem jak przypisać ścieżkę..

    Dim Zapisz As Boolean
    Zapisz = Application.Dialogs(xlDialogSaveAs).Show
    If Not Zapisz Then MsgBox "Nie zapisano!", vbCritical

    0
  • #5 10 Lut 2018 18:21
    clubs
    Poziom 28  

    Witam

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    ps
    If Zapisz = false Then

    0
  • #6 11 Lut 2018 19:01
    bystrotrecon
    Poziom 7  

    Nie działa.. pracuje na serwerze. Myślę, że można to ugryźć z "path=" tylko jak?

    0
  • #7 11 Lut 2018 19:31
    JRV
    Specjalista - VBA, Excel

    Srobuj
    ChDir \\nazwa_serwerza\folderz1\folderz2

    0
  • #9 11 Lut 2018 20:06
    clubs
    Poziom 28  

    bystrotrecon napisał:
    Nie działa

    Jakiej wersji office używasz?

    0
  • #10 12 Lut 2018 02:35
    bystrotrecon
    Poziom 7  

    Excel 2007 - próbowałem różnych metod, jest ok częściowo. Plik jest z makrem i w oknie przy zapisie nie widać żadnych plików Excela (xls, xlsx, xlsm). Jak już zapisuje to jest problem z ścieżką do serwera i tak w kółko ..

    0
  • #11 12 Lut 2018 03:17
    lanzul
    Poziom 22  

    bystrotrecon napisał:
    aby okno przyjmowało konkretną ścieżkę z serwera
    bystrotrecon napisał:
    połączyć okno z daną ścieżka na serwerze
    bystrotrecon napisał:
    pracuje na serwerze
    bystrotrecon napisał:
    jest problem z ścieżką do serwera i tak w kółko

    1. Skąd jest plik, który próbujesz zapisać na serwer ? Z tegoż serwera, czy miejscowo, z DT ?
    2. Czy mapowania ścieżek do serwera mogą się zmieniać w czasie ?
    3. Spytaj admina, czy przypadkiem nie trzeba ładować pliku po ftp ... wtedy będzie trudniej ...

    Jeśli jest to proste/zwykłe/codzienne/zwyczajowe/itp. mapowanie, to przyjrzyj się temu poniżej przy pomocy 'F8' i sprawdź, czy i gdzie się wyrypuje.
    Kod: vba
    Zaloguj się, aby zobaczyć kod

    0
  • #12 12 Lut 2018 04:26
    bystrotrecon
    Poziom 7  

    Miejsce pliku i zapis są na tym samym serwerze, mapowanie raczej się nie zmienia ponieważ korzystam z makra, które otwiera mi konkretny katalog na serwerze i wysyła z niego pliki, w stronę zapisu nie mogę złożyć konkretnego kodu, żeby działało wszystko poprawnie.. Poniżej przykład wysyłania plików z konkretnego katalogu:

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #13 12 Lut 2018 11:42
    lanzul
    Poziom 22  

    ???
    Przykład ... wysyłania mail'em na serwer ?!
    A co to ma wspólnego z zapisem pliku na serwerze ?
    ???
    Co ma Outlook do mapowania dysków serwerowych i zapisywania na nich plików ?

    8() ?!
    ...

    ... poza tym jak już ... to 'Display' przed 'Send' (po 'Attachments') ....

    8() ?!
    ...

    0
  • #14 13 Lut 2018 01:01
    bystrotrecon
    Poziom 7  

    Chodziło mi o wyświetlenie okna wyboru. Chciałbym tak samo tylko w stronę zapisu.

    0
  • #15 13 Lut 2018 06:31
    clubs
    Poziom 28  

    Cytat:
    Chodziło mi o wyświetlenie okna wyboru. Chciałbym tak samo tylko w stronę zapisu


    Witam
    Sprawdziłeś to co kolega @lanzul wrzucił?
    Zobacz tak
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    0
  • #16 14 Lut 2018 00:52
    bystrotrecon
    Poziom 7  

    "clubs" przy:
    If zapisz <> False Then
    wywala się..

    0
  • #17 14 Lut 2018 01:29
    lanzul
    Poziom 22  

    No dobrze, wywala się, ale z jakim komunikatem, z jaką wartością w 'zapisz', w 'ścieżce', itd. ?
    Prześledziłeś przez 'F8' krok po kroku, jakie wartości przyjmują zmienne w trakcie przechodzenia przez kod ?

    0
  • #18 14 Lut 2018 03:31
    bystrotrecon
    Poziom 7  

    Coś zaiskrzyło w temacie :) dodałem:

    Dim zapisz As Variant

    ActiveWorkbook.SaveAs Filename:=zapisz & ".xlsm"

    Dzięki za pomoc. Uczę się metodą prób i błędów, ale na razie jest raczej OK.

    0
  • #19 14 Lut 2018 05:53
    clubs
    Poziom 28  

    Witam
    ThisWorkbook.Name zwraca nazwę + rozszerzenie (sciezka & ThisWorkbook.Name)
    Nie zmieniłeś przypadkiem na swoją nazwę? wtedy trzeba dopisać rozszerzenie :D

    0
TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo