Sir Roger Moore played James Bond the longest, appearing in seven films between 1973 and 1985.