Как использовать функцию replace в макросе для замены символа чем-то другим

#excel #vba

#преуспеть #vba #excel

Вопрос:

Я новичок в vba, и мне нужна помощь со старым файлом на моем рабочем месте. Короче говоря, у меня есть шаблон, который генерирует файл Excel, используемый для печати наклеек. Один из столбцов называется Picture и указывает на местоположение изображения. Поскольку они что-то меняют в базе данных, имя, сгенерированное базой данных, содержит косую черту «/», которая, конечно, не может быть использована в имени файла. Мне нужно настроить код так, чтобы он заменял «/» на @S @ (у нас есть это на фотографиях нашего веб-сайта, но наш ИТ-специалист ушел, так что на данный момент у нас нет никого способного) Я был бы признателен, если бы вы, ребята, могли мне помочь.

Ниже приведена часть кода, содержащего этот столбец с изображением :

 ls_Path = "C:Pictures for Barcode"
Rs.Open ls_Sql, conn
Do While Not Rs.EOF
' Copy and insert new row
s_Copyrow ls_Sheet, ll_Row

' Put the data
ws.Cells(ll_Row, PROD_COL).Value = Rs("prod_complete")
ws.Cells(ll_Row, DESC_COL).Value = f_OnlyAsciiCharacter(Rs("prod_desc"))
ws.Cells(ll_Row, BARCODE_COL).Value = Rs("prod_barcode")
ws.Cells(ll_Row, COLOR_COL).Value = Rs("full_color")
ws.Cells(ll_Row, MAT1_COL).Value = f_OnlyAsciiCharacter(Rs("mat1"))
ws.Cells(ll_Row, MAT2_COL).Value = f_OnlyAsciiCharacter(Rs("mat2"))
ws.Cells(ll_Row, MAT3_COL).Value = f_OnlyAsciiCharacter(Rs("mat3"))
ws.Cells(ll_Row, MAT4_COL).Value = f_OnlyAsciiCharacter(Rs("mat4"))
ws.Cells(ll_Row, MAT5_COL).Value = f_OnlyAsciiCharacter(Rs("mat5"))
ws.Cells(ll_Row, PIC_COL).Value = ls_Path amp; Rs("prod_picture")
ws.Cells(ll_Row, PRINT_COL).Value = 1

' Go to next item
ll_Row = ll_Row   1
  

Насколько я понимаю, мне нужно использовать функцию replace с этой строкой ws.Cells(ll_Row, PIC_COL).Value = ls_Path amp; Rs("prod_picture") , чтобы она заменила «/» на то, что я хочу, то есть «@S @».

Заранее благодарю вас.

Ответ №1:

 ws.Cells(ll_Row, PIC_COL).Value = Replace(ls_Path amp; Rs("prod_picture").Value, "", "@S@")