• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Excel userform data halen van reeds geopende web site

Status
Niet open voor verdere reacties.

bjornesto

Gebruiker
Lid geworden
16 apr 2012
Berichten
201
Ik heb een userform gemaakt in Excel. (zie bijlage)
Deze dient als er een fout gemaakt is sturen wij een mail naar de betrokken persoon.

Deze userform moet ingevuld worden door middel van een formulier op een web site die al geopend is. (zie bijlage)
Graag zou ik willen dat door middel van een knop te drukken er zoveel mogelijk velden ingevult worden via vba.

voorbeeld
de code van de website voor requestor op de web site is hieronder

HTML:
<input id="sys_display.u_tme_facilities.u_requestor" name="sys_display.u_tme_facilities.u_requestor" aria-labelledby="label.u_tme_facilities.u_requestor" type="text" autocomplete="off" autocorrect="off" value="Christophe Van Delsen" ac_columns="email;employee_number" ac_order_by="name" data-type="ac_reference_input" data-completer="AJAXTableCompleter" data-dependent="null" data-ref-qual="" data-ref="u_tme_facilities.u_requestor" data-ref-key="null" data-ref-dynamic="false" data-name="u_requestor" data-table="sys_user" class="form-control element_reference_input  " style="; " spellcheck="false" onfocus="if (!this.ac) addLoadEvent(function() {var e = gel('sys_display.u_tme_facilities.u_requestor'); if (!e.ac) new AJAXTableCompleter(gel('sys_display.u_tme_facilities.u_requestor'), 'u_tme_facilities.u_requestor', 'null', ''); e.ac.onFocus();})" aria-required="false" role="combobox" aria-autocomplete="list" aria-owns="AC.u_tme_facilities.u_requestor" aria-activedescendant="">

Is dit mogelijk
 

Bijlagen

  • web page.jpg
    web page.jpg
    240,6 KB · Weergaven: 51
  • userform_brc.xlsm
    55,7 KB · Weergaven: 31
Ja, is waarschijnlijk mogelijk, met "webscraping"-technieken.
Alleen zul je dat zelf moeten doen, want de webpagina zal wel op een afgeschermd netwerk staan.
 
Niet een oplossing voor de vraag, maar waarom zet je elk element van het formulier eerst in een variabele? Daarnaast haal je variabelen en constanten door elkaar en declareer je de variabelen ook niet goed.
Code:
Dim strbody, strbody1, strbody2 As String
geeft twee variabelen als variant en 1 als string.

Met ± 60% minder regels hetzelfde resultaat.
Code:
Private Sub CommandButton1_Click()
  Const security_mail = "security.tme.ho@toyota-europe.com"
  Const security_TC_mail = "security.ho@toyota-europe.com"
  Const security_teamleader = "Kevin.Devulder@external.toyota-europe.com"
  Const Title = "BRC aanvraag voor"
  Const sentense = "Hieronder een aanvraag die niet geprint kon worden"
  Const sentense1 = "Badges zijn wel al aangemaakt natuurlijk"
  Dim strbody As String, strbody1 As String, strbody2 As String, c00 As String, j As Long
    
    'Dim start_period As String:         start_period = brc.DTpick_start_date.Value
    'Dim end_period As String:           end_period = brc.DTpick_end_date.Value
    
  strbody = "<font size=""5"" face=""Calibri""><FONT COLOR=""#2156D4"">" & Title & " " & txtbx_company.Value & " (" & txtbx_bdg.Value & txtbx_bdg_number.Value & ") --> Probleem </FONT>" & _
    "<br><br><font size=""3"" face=""Calibri"">Collega's " & "<br><br>" & sentense & "<br>" & sentense1
           
  For j = 1 To 24
    c00 = c00 & Me("txtbx_badge_ID_" & j) & " "
  Next j
  
  strbody1 = "<br><br> BDG: <FONT COLOR=""#FF0000""> " & bdg_text & bdg_number & "</FONT>" & _
    "<br><br> Company: <FONT COLOR=""#FF0000""> " & txtbx_company & "</FONT>" & _
    "<br> Requestor: <FONT COLOR=""#FF0000""> " & txtbx_requestor & "</FONT>" & _
    "<br><br> Period:" & _
    "<br> From: <FONT COLOR=""#FF0000""> " & start_period & "</FONT>" & _
    "<br> Till: <FONT COLOR=""#FF0000""> " & end_period & "</FONT>" & _
    "<br><br> Badge(s): <FONT COLOR=""#FF0000""> " & c00 & "</FONT>  <FONT COLOR=""#2156D4"">" & _
    "</FONT>" & " (" & badge_info & ")" & _
    "<br><br> Status: <FONT COLOR=""#FF0000""> " & cmbbx_status.Value & "</FONT>" & " (" & txtbx_extra_info_status.Value & ")" & _
    "<br><br> Requested access: <FONT COLOR=""#FF0000""> " & txtbx_requested_access & "</FONT>" & _
    "<br> Received access: <FONT COLOR=""#FF0000""> " & txtbx_received_access.Value & "</FONT>" & _
    "<br><br> Location of badge(s): <FONT COLOR=""#FF0000""> " & cmbbx_location_of_badges.Value & "</FONT>"

    strbody2 = "<font size=""3"" face=""Calibri"">" & _
      "<br><br><br><br>Best regards / Met vriendelijke groeten / Bien à vous " & _
      "<br><br>Security Head Office" & _
      "<br><b>Securitas for Toyota Motor Europe Head Office </b>" & _
      "<br><br>Integrity, Vigilance and Helpfulness" & _
      "<br><br>Tel : +32 2 745 20 10 (ext. 2010)" & _
      "<br><FONT COLOR=""#FF0000"">Emergency: +32 2 745 56 00 (ext 5600)</FONT>" & _
      "<br><FONT COLOR=""#FF0000"">Mob : +32 476 804 096</FONT>" & _
      "<br><br>Toyota Motor Europe HO: Bourgetlaan 60 - 1140 Brussels - Belgium" & _
      "<br><br>This e-mail and any attachments thereto may contain information that is confidential, legally privileged and/or protected by intellectual property rights and are intended for the sole use of the recipient(s) named above." & _
      "<br>Any use of the information contained herein by persons other than the designated recipient(s) is prohibited." & _
      "<br>If you have received this e-mail in error, please notify the sender either by telephone or by e-mail and delete the material from any computer."

    With CreateObject("Outlook.Application").CreateItem(0)
      .To = security_mail & ";" & security_TC_mail
      .CC = security_teamleader
      .subject = Title & " " & company & " (" & bdg_text & bdg_number & ")"
      .HTMLBody = strbody & strbody1 & strbody2
      .Display   'or use .Send
    End With
End Sub
 
Was ook nog aan de code aan het werken en opzoekingen aan het doen om veel minder regels te gebruiken.

Dank u voor de oplossing.

Ik ga dan is verder zoeken naar die web scraping
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan