[Rozwiązane] Zamiana \ w zmiennej na _

Makropolecenia i funkcje w języku Basic

[Rozwiązane] Zamiana \ w zmiennej na _

Postprzez osclbn » Pt wrz 23, 2016 11:42 am

Witam,
Obecnie w swoich dokumentach próbuję wykorzystać makro zapisujące arkusz jako PDF. Makro znalazłem na angielskiej wersji forum i zmodyfikowałem pod siebie. Obecnie wygląda ono tak:
Kod: Zaznacz cały   Rozszerz widokZwiń widok
REM  *****  BASIC  *****
Sub SaveAs

   Dim sFileName1 As String
   Dim sFileName2 As String
   Dim sFileName3 As String
   Dim sBackslash As String
   Dim sPath As String
   Dim sSaveToURL as string
   
   GOD = Format(Time, "hh-mm-ss")
   sPath = "y:\archiwum\"
   sFileName1 = thisComponent.getSheets.getByName("Specyfikacja").getCellRangeByName("H7").getString ' Komórka zawsze ma wartość "Słowo\Numer"
   sFileName2 = thisComponent.getSheets.getByName("Specyfikacja").getCellRangeByName("C12").getString ' Wartość to data w formacie DD.MM.RRRR
   sFileName3 = thisComponent.getSheets.getByName("Specyfikacja").getCellRangeByName("H9").getString ' Wartość do słowo
   sBackslash = "\"
   sSaveToURL = ConvertToURL(sPath & sFileName2 & sBackslash & sFileName1 & "_" & sFileName3 & "_" & GOD & ".pdf")
   thisComponent.storeToUrl(sSaveToURL, Array(MakePropertyValue("FilterName", "calc_pdf_Export")))
   
End Sub

Function MakePropertyValue(Optional sName As String, Optional sValue) As com.sun.star.beans.PropertyValue
'-------------------------------------------------------------------
' Create and return a new com.sun.star.beans.PropertyValue
'-------------------------------------------------------------------

    Dim oPropertyValue As New com.sun.star.beans.PropertyValue
   
   
    If Not IsMissing(sName) Then
       oPropertyValue.Name = sName
    EndIf
   
    If Not IsMissing(sValue) Then
       oPropertyValue.Value = sValue
    EndIf
   
    MakePropertyValue() = oPropertyValue

End Function

Posiadam taki problem, że przez znak backslasha w komórce H7 tworzy mi katalog o nazwie "Słowo" i nazwa pliku zaczyna się od "Numer". Potrzebowałbym zmodyfikować makro tak, aby w zmiennej sFileName1 zamienić backslash na "_", bez ingerencji w to co jest wpisane w arkuszu.
Czy jesteście w stanie mi pomóc?
Ostatnio edytowano Pt wrz 23, 2016 1:26 pm przez osclbn, łącznie edytowano 1 raz
OpenOffice 4.1.2 na Windows 7
osclbn
 
Posty: 2
Dołączył(a): Pt wrz 23, 2016 11:26 am

Re: Zamiana \ w zmiennej na _

Postprzez belstar » Pt wrz 23, 2016 12:33 pm

Kod: Zaznacz cały   Rozszerz widokZwiń widok
Sub Podmien
   dim slowo as string
   slowo = "ala/ela"
   slowo = Replace(slowo, "/", "_")
   print slowo
End Sub
LibreOffice 5.1.2.2 Ubuntu 16 LTS
belstar
 
Posty: 648
Dołączył(a): Cz mar 17, 2011 9:08 am

Re: Zamiana \ w zmiennej na _

Postprzez osclbn » Pt wrz 23, 2016 1:26 pm

Dziękuję! Rozwiązanie było bardzo proste :)
OpenOffice 4.1.2 na Windows 7
osclbn
 
Posty: 2
Dołączył(a): Pt wrz 23, 2016 11:26 am


Powrót do Basic

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości